会话存储阵列密钥

时间:2016-06-20 06:16:34

标签: javascript sessionstorage

var items = [];

sessionStorage.setItem(items, JSON.stringify({
     name: itemName.val(),
     model: model.val(),
      qty: qty.val()
}));

console.log(JSON.parse(sessionStorage.getItem('item')));

我需要在sessionStorage中有一个数组键。如果它不可行,我该如何添加更多值。

enter image description here

2 个答案:

答案 0 :(得分:1)

由于您只能将密钥作为字符串,因此我建议使用以下选项之一:

选项A

var items = [];
items.push({
   name: itemName.val(),
     model: model.val(),
      qty: qty.val();
})

sessionStorage.setItem('items',JSON.stringify(items));

然后获得一个项目:

JSON.parse(sessionStorage.getItem('items')[theIndexYouWant]

选项B

为每个项目按索引设置不同的键:

items.forEach(function(el, index) {
   sessionStorage.setItem('item' + index, JSON.stringify(el))
}

然后获得一个项目:

JSON.parse(sessionStorage.getItem('item10'))

答案 1 :(得分:0)

您需要先将键和值推送到items数组。然后对其进行字符串化并存储在会话存储中。

var items = [];
items.push({
   name: itemName.val(),
     model: model.val(),
      qty: qty.val();
})

sessionStorage.setItem(items,JSON.stringify(items));
console.log(JSON.parse(sessionStorage.getItem('item')));