Проверить последовательное значение в карте?

Расширение объекта Storage является прекрасным решением. Для моего API я создал фасад для localStorage, а затем проверяю, является ли это объектом или нет при настройке и получении.

var data = {
  set: function(key, value) {
    if (!key || !value) {return;}

    if (typeof value === "object") {
      value = JSON.stringify(value);
    }
    localStorage.setItem(key, value);
  },
  get: function(key) {
    var value = localStorage.getItem(key);

    if (!value) {return;}

    // assume it is an object that has been stringified
    if (value[0] === "{") {
      value = JSON.parse(value);
    }

    return value;
  }
}
0
задан FlutterFirebase 21 March 2019 в 14:57
поделиться

1 ответ

Нет причины, по которой ваш код не должен работать для индекса 0, кроме как для теста index > 0. Удаляя это, оно должно работать нормально:

bool _sameUser () {
  assert(index >= 0);
  assert(map != null);
  return map[index + 1] != null && map[index + 1]['fromUser'] == map[index]['fromUser'];
}

Поскольку я предположил, что index никогда не должно быть меньше, чем 0, а map никогда не должно быть null, я переместил некоторые из код условия для assert операторов. Кроме того, поскольку ваше if -выражение является логическим, вы можете просто вернуть его напрямую.

0
ответ дан Marcel 21 March 2019 в 14:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: