问题
How can I count how many different values I have in 1 localstorage key.
For example:
This is my localstorage:
[{"id":"item-1","icon":"google.com"},{"id":"item-2","icon":"youtube.com"}]
For this example I'd like an alert of 2 different values. So basically I want to count the {}
..
Is that possible?
回答1:
localStorage
is an object, so just localStorage.length
gives you the number of entries.
However I think I might be misunderstanding you. Do you mean you have one key, and that key's value is a JSON.stringify
'd object? If so, you could do JSON.parse(localStorage.keyname).length
to unserialise the value and count how many there are in there.
回答2:
Your object is saved as an array so just using the .length should give you the number of {} pairs you have. Try this (replace "whatever" with the name of your array:
var something = localstorage.whatever[];
var length = something.length;
alert("length = " + length);
回答3:
This will return the number of items in the key for you
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)
来源:https://stackoverflow.com/questions/8093625/localstorage-count-how-many-values-in-key-when-using-stringify