将对象添加到localStorage。 JSON

时间:2017-12-17 10:38:55

标签: javascript json save local-storage

我认为,我的问题非常简单,但我从不使用JSON和localStorage。所以,我有一个函数,它返回一个对象和一个循环,它会触发函数n次并创建n个对象。

function result(){
  //some other functions
  let finalObj = {
           "Потяг №" : getTrainNumber(),
           "Пункт відправлення" : cities[randomCity_A],
           "Пункт прибуття" : cities[randomCity_B],
           "День тижня" : getDepartureDay(),
           "Відправлення" : mergedDepartureTime(),
           "Вартість" :  getTicketPrice()
        };

   return finalObj;
}

var firingCount = prompt('Trains count', 10);
  for(var i = 0; i < firingCount; i++) {
  console.log(result());

  let serialObj = JSON.stringify(result());
  localStorage.setItem("myKey", serialObj);
}

如何在localStorage中保存所有创建的对象(它只保存1个finalObj),如果我可以将所有对象保存在其他.json文件中,该怎么办?谢谢。

1 个答案:

答案 0 :(得分:2)

您一次又一次地在同一个键(myKey)中设置对象(serialObj)。这就是为什么关键只保留最后一个对象。

尝试创建如下所示的唯一键:

var firingCount = prompt('Trains count', 10);
for(var i = 0; i < firingCount; i++) {
   console.log(result());

   let serialObj = JSON.stringify(result());
   localStorage.setItem("myKey" + i, serialObj); // create unique key by appending i to "myKey".
}