推送多个json数组 - javascript

时间:2017-02-21 06:08:33

标签: javascript arrays json

我有2个json对象。我需要像这样推送内部数组。后来我需要将整个对象存储在localstorage

function(cObj,bObj) { }

我应该得到第一个数组。

object
        localArray: Array[2]
            cObj
                ....
            bObj

再次调用该函数时,我应该

object
        localArray: Array[2]
            cObj
                ....
            bObj
        localArray: Array[2]
            cObj
                ....
            bObj    

这就是我在做的事。

localObj = {}
localObj.localArray = [];   


localObj.localArray.push(cObj,bObj);
localStorage.localObj = JSON.stringify(localObj);

如何将完整对象存储在localstorage中?

1 个答案:

答案 0 :(得分:2)

对象中的键应该是唯一的,所以如果你想要这样的话

object
    localArray: Array[2]
        cObj
            ....
        bObj
    localArray: Array[2]
        cObj
            ....
        bObj   

你最接近这个,是有一个像这样的对象有一个对象数组,它包含你原本想要重复的那个无法重复的键,因为一个对象中的键应该是唯一的:

cObj = {
  key: value
};

bObj = {
  key: value
};

// your local object would look like this 

{
  data: [
    {
      localArray: [
        cObj,
        bObj
      ]
    },
    {
      localArray: [
        cObj,
        bObj
      ]
    },
    ...
  ]
}

然后您可以使用以下代码更新此对象:

localObj.data.push({localArray: [cObj,bObj]});

你可以在你的函数中使用它:

localObj = {}
localObj.localArrays = [];

localObj.localArrays.push({
  localArray: [cObj, bObj]
});
localStorage.localObj = JSON.stringify(localObj);