#javascript #local-storage
#javascript #local-storage
Вопрос:
Я не могу понять, как выполнить цикл по коллекции объектов, хранящихся в моем localstorage. В основном я храню кучу выбранных элементов, и если это правда, я хочу отправить их на сервер.
Вот пример данных в моей коллекции {"6532":null,"6533":true,"6816":true,"7192":true,"8663":null,"8673":null,"23113":true}
function ValidateRadGridSelections() {
alert(sessionStorage.getItem("selectedItems"));
var jsonArray = JSON.parse(sessionStorage.getItem("selectedItems"));
alert(jsonArray);
for (var i = 0, len = jsonArray.length; i < len; i) {
var jsonObj = jsonArray[i];
alert(jsonObj);
var selected = JSON.parse(jsonObj);
if (selected amp;amp; selected[id]) {
//I want to add the item here to a collection that is sent server side.
alert(selected[id]);
}
}
return false;
}
Благодаря комментариям ниже я понял это.
function ValidateRadGridSelections() {
alert(sessionStorage.getItem("selectedItems"));
var jsonArray = JSON.parse(sessionStorage.getItem("selectedItems"));
for (var json in jsonArray) {
if (jsonArray[json]) {
console.log(json, jsonArray[json]);
}
}
return false;
}
Комментарии:
1. Вам не нужно делать
JSON.parse
снова и снова. После того, как вы сначалаJSON.parse
строка JSON становится объектом javascript. Тогда вы можете обращаться подобным образом.2. @vibhor1997a Я не понимаю, как выполнить итерацию первой переменной JSONArray = JSON.parse(sessionStorage.GetItem(«Выбранные элементы»)); Я не понимаю
3. Я думаю, вам не нужно
JSON.parse(jsonObj)
.var selected = jsonObj;
должно быть нормально.