首页 > 解决方案 > 如何将我的阵列保存到具有特定编号的本地存储中?

问题描述

我的数组有问题。我的数组很少,我需要将它们以特定数量保存到本地存储中。

我想拿走所有物品,将这些物品转换为数组并将它们保存到具有特定编号的本地存储中。首先是 0,然后是 1,依此类推。

有人可以帮助我吗?谢谢

JS

let length = document.querySelectorAll(".item").length;
    for(number = 0; number < length; number++){
      console.log(number);
    }
    let items = document.querySelectorAll(".item").forEach(item => {
      let product = [
        {
          name: item.children[0].children[1].innerHTML,
          price: item.children[1].children[0].innerHTML,
          value: item.children[0].children[0].value
        }
      ]
      localStorage.setItem(`product${number}`, JSON.stringify(product));
    });

HTML

<div class="item">
  <div class="left"><input type="number" name="pieces" value="1" class="piece"> <p>Kelímek Jelen Extra</p></div><div class="right"><h3 class="price-i">699</h3><h3>Kč</h3> <i class="fas fa-times"></i></div>
</div>

<div class="item">
  <div class="left"><input type="number" name="pieces" value="1" class="piece"> <p>Kelímek Jelen Extra</p></div><div class="right"><h3 class="price-i">699</h3><h3>Kč</h3> <i class="fas fa-times"></i></div>
</div>

<div class="item">
  <div class="left"><input type="number" name="pieces" value="1" class="piece"> <p>Kelímek Jelen Extra</p></div><div class="right"><h3 class="price-i">699</h3><h3>Kč</h3> <i class="fas fa-times"></i></div>
</div>

标签: javascriptarrayslocal-storage

解决方案


您可以通过在 foreach 循环中使用索引来获得所需的结果 foreach 循环返回当前项目的索引,您可以使用该索引在 localstorage 中按索引存储

解决方案 :

let length = document.querySelectorAll(".item").length;
    let items = document.querySelectorAll(".item").forEach((item,index) => {
      let product = [
        {
          name: item.children[0].children[1].innerHTML,
          price: item.children[1].children[0].innerHTML,
          value: item.children[0].children[0].value
        }
      ]

      localStorage.setItem(`product${index}`, JSON.stringify(product));
    });

结果 :

在此处输入图像描述


推荐阅读