设置LocalStorage键的计数,该密钥以使用jQuery的唯一单词开头



请帮助!我设置了LocalStorage项目,例如:You-title,You-firstname,partner-title,partner-firstname,我想计算设置每个前缀中的有多少个前缀,并以前缀为键。我可以得到前缀和计数单个前缀的范围:

var j = 0;
for (var i = 0, len = localStorage.length; i < len; i++) {
    var key = localStorage.key(i);
    var prefix = key.split('-')[0];
    if (prefix === 'you') {
            j++;
            localStorage.setItem(prefix, j);
   }
}

但是我有很多不同的前缀,所以我不想这样用硬编码。

有什么想法?

非常感谢,

ben。

要实现此目的,您可以用键/值对创建一个对象作为前缀和计数。这样,您就不需要知道钥匙是什么,因为它在运行时都设置了:

var counterObj = {};
Object.keys(localStorage).forEach(function(key){
  var prefix = key.split('-')[0];
  counterObj[prefix] = ++counterObj[prefix] || 1;
});
console.log(counterObj);

工作示例

注意,我必须将示例放在JSFiddle中,因为摘要限制了对LocalStorage的访问。

最新更新