Javascript 如何向数组中的重复键添加值
我将数组推入for循环。如何为相同的键添加值Javascript 如何向数组中的重复键添加值,javascript,node.js,Javascript,Node.js,我将数组推入for循环。如何为相同的键添加值 { "0156": { "test": "hi" } }, { "0156": { "test": "hi2" } }, 我想做这样的事情 { "0156": {
{
"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" ) {
}
但是仍然不起作用。您可以将值分组到一个数组中
const arr=[{
"0156": {
“测试”:“嗨”,
“测试2”:“abc”
}
},
{
"0156": {
“测试”:“hi2”,
“测试2”:“abc1”
},
"0157": {
“测试”:“y1”
}
},
{
"0156": {
“测试”:“hi3”
},
"0158": {
“测试”:“ti2”
}
},
{
"0156": {
“测试”:“hi4”
},
"0157": {
“测试”:“y”
}
},
{
"0158": {
“测试”:“ti”
}
}
]
const res=arr.reduce(功能(acc,curr){
for(让p表示为curr){
acc[p]=acc[p]| | curr[p]
对于(让p1表示为当前值[p])
acc[p][p1]=acc[p][p1]!=curr[p][p1]?[]concat(acc[p][p1],curr[p][p1]):curr[p][p1]
}
返回acc
}, {})
console.log(res)
您可以在数组中对值进行分组
const arr=[{
"0156": {
“测试”:“嗨”,
“测试2”:“abc”
}
},
{
"0156": {
“测试”:“hi2”,
“测试2”:“abc1”
},
"0157": {
“测试”:“y1”
}
},
{
"0156": {
“测试”:“hi3”
},
"0158": {
“测试”:“ti2”
}
},
{
"0156": {
“测试”:“hi4”
},
"0157": {
“测试”:“y”
}
},
{
"0158": {
“测试”:“ti”
}
}
]
const res=arr.reduce(功能(acc,curr){
for(让p表示为curr){
acc[p]=acc[p]| | curr[p]
对于(让p1表示为当前值[p])
acc[p][p1]=acc[p][p1]!=curr[p][p1]?[]concat(acc[p][p1],curr[p][p1]):curr[p][p1]
}
返回acc
}, {})
console.log(res)
您的预期输出无效。在搜索“array groupBy”时不能再添加相同的键我应该怎么做?抱歉,我是javascriptok的新手,我会阅读更多关于它的内容,谢谢@charlietflYour预期输出无效。在搜索“array groupBy”时不能再添加相同的键我应该怎么做?抱歉,我是javascriptok的新手,我会读更多关于它的内容,谢谢@charlietfl