Localstorage:计算使用stringify时key中的值数

时间:2011-11-11 11:54:54

标签: javascript jquery local-storage

如何计算1个localstorage密钥中有多少个不同的值。

例如:

这是我的本地存储:

[{"id":"item-1","icon":"google.com"},{"id":"item-2","icon":"youtube.com"}]

对于这个例子,我想要一个2个不同值的警报。所以基本上我想计算{} ..

这可能吗?

3 个答案:

答案 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)