Можно ли настроить Lawnchair .all на возврат объекта, индексированного по ключу?

Я использую Lawnchair для локального хранения данных на моем клиенте. Ключ, который я использую для вставки значений, создается на стороне сервера.

В настоящее время, когда я использую.all, список возвращаемых значений представляет собой массив, индексированный от 0. Затем я перебираю этот список, сохраняя возвращенные значения в литерале объекта (используя underscore.js).

var objects = {};
_.each(returnedArray, function (val) {
    objects[val.key] = val;
});

Это позволяет мне использовать O(1) поиск в других частях моего кода, но требует операции O(n) для всех операций чтения из Lawnchair.

Можно ли настроить Lawnchair (или использовать другой метод / комбинацию методов) для возврата ключевого литерала индексированного объекта без итерации по всему моему набору данных?

1 ответ

Если вы открыты для использования другой библиотеки, я предложу свою одну https://bitbucket.org/ytkyaw/ydn-db/wiki/Home

Он прост в использовании и оптимизирован для производительности. Он также поддерживает IndexedDB, WebSQL и WebStorage.

Используя библиотеку, вы можете получить по ключу индекса, с O(log n) раз, я думаю, для поиска из отсортированного массива. Вы можете устранить стоимость сериализации, только запросив ключ. Использование библиотеки можно найти здесь: http://dev.yathit.com/ydn-db/getting-started.html

Другие вопросы по тегам