如何计算1个localstorage密钥中有多少个不同的值。
例如:
这是我的本地存储:
[{"id":"item-1","icon":"google.com"},{"id":"item-2","icon":"youtube.com"}]
对于这个例子,我想要一个2个不同值的警报。所以基本上我想计算{}
..
这可能吗?
答案 0 :(得分:9)
localStorage
是一个对象,因此localStorage.length
只会为您提供条目数。
但是我想我可能会误解你。你的意思是你有一把钥匙,那把钥匙的价值是JSON.stringify
'天对象吗?如果是这样,您可以JSON.parse(localStorage.keyname).length
取消序列化值并计算其中的值。
答案 1 :(得分:2)
您的对象保存为数组,因此只需使用.length就可以得到{}对的数量。试试这个(替换"无论什么"用你的数组的名字:
var something = localstorage.whatever[];
var length = something.length;
alert("length = " + length);
答案 2 :(得分:0)
这将返回密钥中的项目数
testing = JSON.parse(localStorage.getItem(KEYNAMEHERE));
//Lets count how many we have back
obj = eval('(' + testing + ')');
//And the total is...
objCount=0;
for(_obj in obj) objCount++;
alert(objCount)