请帮忙!我设置了 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);
}
}
但是我有很多不同的前缀,所以我不想以这种方式对它们进行硬编码。
有什么想法吗?
非常感谢,
本。
最佳答案
要实现此目的,您可以创建一个以键/值对作为前缀和计数的对象。这样你就不需要知道 key 是什么,因为它都是在运行时设置的:
var counterObj = {};
Object.keys(localStorage).forEach(function(key){
var prefix = key.split('-')[0];
counterObj[prefix] = ++counterObj[prefix] || 1;
});
console.log(counterObj);
注意,我必须将示例放在 jsFiddle 中,因为 SO 片段限制对 localStorage 的访问。
关于jquery - 使用 jQuery 设置以唯一单词开头的 localStorage 键的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45999370/