Localstorage: подсчитать, сколько значений в ключе при использовании stringify - PullRequest
4 голосов
/ 11 ноября 2011

Как подсчитать, сколько разных значений у меня в 1 ключе локального хранилища.

Например:

Это мое местное хранилище:

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

В этом примере я хотел бы получить предупреждение о 2 разных значениях. Так что в основном я хочу сосчитать {} ..

Это возможно?

Ответы [ 3 ]

9 голосов
/ 11 ноября 2011

localStorage - это объект, поэтому просто localStorage.length дает количество записей.

Тем не менее, я думаю, что я могу неправильно вас понять Вы имеете в виду, что у вас есть один ключ, и значение этого ключа является JSON.stringify 'd объектом? Если это так, вы можете сделать JSON.parse(localStorage.keyname).length, чтобы снять сериализацию значения и посчитать, сколько их там.

2 голосов
/ 11 ноября 2011

Ваш объект сохраняется в виде массива, поэтому, просто используя .length, вы получите количество пар {}, которые у вас есть.Попробуйте это (замените «что угодно» на имя вашего массива:

var something = localstorage.whatever[];
var length = something.length;
alert("length = " + length);
0 голосов
/ 11 ноября 2011

Это вернет количество элементов в ключе для вас

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...