我正在使用Lawnchair在我的客户端本地存储数据。我用来插入值的密钥是在服务器端创建的。
目前,当我使用.all时,返回值列表是一个从0开始索引的数组。然后迭代这个列表,在对象文字中存储返回的值(使用underscore.js)。
var objects = {};
_.each(returnedArray, function (val) {
objects[val.key] = val;
});
这允许我在代码的其他部分使用O(1)查找,但是需要对Lawnchair的所有读取进行O(n)操作。
是否可以配置Lawnchair(或使用不同的方法/方法组合)返回键索引对象文字而不迭代整个数据集?
答案 0 :(得分:0)
如果您愿意使用其他图书馆,我会建议我https://bitbucket.org/ytkyaw/ydn-db/wiki/Home
易于使用并针对性能进行了优化。它也支持IndexedDB,WebSQL和WebStorage。
使用该库,您可以通过索引键获取,我想,O(log n)
次可以从排序数组中查找。您只需通过查询密钥即可消除冻结成本。可以在此处找到图书馆使用情况:http://dev.yathit.com/ydn-db/getting-started.html