将整个数据集添加到本地存储

时间:2020-04-07 17:26:03

标签: javascript angular

我无法将数据集添加到本地存储。我现在只能使用以下代码添加1个选项

const medicalPlansArr = medicalAidPlans[0].selectedMAP.map((x, index) => ({ label: x.options[index].optionName, value: x.options[index].id }));

localStorage.setItem('medicalPlans', JSON.stringify(medicalPlansArr));

这是数据集的外观,我要存储的唯一值是optionNameid

[
    {
      "selectedMAP": [
        {
          "mapName": "Default",
          "options": [
            {
                id: 1,
                optionName: 'Hospital Plan',
                memberAmount: 1850,
                adultDependantAmount: 900,
                childDependantAmount: 900
            },
            {
                id: 2,
                optionName: 'Savings Plan',
                memberAmount: 2200,
                adultDependantAmount: 1100,
                childDependantAmount: 1100
            },
            {
                id: 3,
                optionName: 'Elite Plan',
                memberAmount: 4900,
                adultDependantAmount: 2200,
                childDependantAmount: 2200
            }
          ]
        }
      ]
    }
  ];

有什么想法为什么不存储所有必需的值?

2 个答案:

答案 0 :(得分:0)

我认为,根据您的情况重新初始化,请先将您的require字段中的任何数组作为pusj,然后保存在localstorage中

答案 1 :(得分:0)

我求助于使用for循环和推送。不知道这是否是最好的方法,但这就是我要做的。

let medicalPlansArr = [];
for(let i = 0; i < medicalAidPlans[0].selectedMAP[0].options.length; i++) {
 medicalPlansArr.push({"label": medicalAidPlans[0].selectedMAP[0].options[i].optionName, "value": medicalAidPlans[0].selectedMAP[0].options[i].id})
}

localStorage.setItem('medicalPlans', JSON.stringify(medicalPlansArr));