猿问

如何将值添加到数组的重复键中

我将数组推入for循环中。如何在相同的键中增加价值


        {

            "0156": {

                "test": "hi"

            }

        },

        {

            "0156": {

                "test": "hi2"

            }

        },

我想做这样的事情


            {

             "0156": {

                "test": "hi"

                "test": "hi2"

            }

这是我尝试的


for(let i in test) {

  let getTest = test[i];

  const usr = getTest.id

  var obj = {};

  obj[usr] = {'test' : getTest.data};

  getData.push(obj);

}

我尝试使用


if (typeof getData[0][usr] !== "undefined" ) {


 }

但是还是没用。


一只萌萌小番薯
浏览 152回答 1
1回答

哔哔one

您可以将值分组到一个数组中const arr = [{    "0156": {      "test": "hi",      "test2": "abc"    }  },  {    "0156": {      "test": "hi2",      "test2": "abc1"    },    "0157": {      "test": "y1"    }  },  {    "0156": {      "test": "hi3"    },    "0158": {      "test": "ti2"    }  },  {    "0156": {      "test": "hi4"    },    "0157": {      "test": "y"    }  },  {    "0158": {      "test": "ti"    }  }]const res = arr.reduce(function(acc, curr) {  for (let p in curr) {    acc[p] = acc[p] || curr[p]    for (let p1 in curr[p])      acc[p][p1] = acc[p][p1] != curr[p][p1] ? [].concat(acc[p][p1], curr[p][p1]) : curr[p][p1]  }  return acc}, {})console.log(res)
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答