gpt4 book ai didi

javascript - 如果第二个对象数组具有相同的值,则将数组添加到对象数组内的对象

转载 作者:行者123 更新时间:2023-11-29 23:45:44 25 4
gpt4 key购买 nike

所以如果我有两个具有相同键和值的数组:

var firstArr = [{name:'Lorem', post_id:2},{name:'Ipsum', post_id:1}];
var secondArr = [{sec:'Deca', another_id:2},{sec:'Meca', another_id:1},{sec:'Raca', another_id:2}];

我想要实现的是:

firstArr.map(function(item,i) {
if(item.post_id === secondArr[i].another_id) {
item.randKey = secondArr[i]
}

});

但是这样的输出是错误的结果是

firstArr[0];
Object {name: "Lorem", post_id: 2, randKey: Array(1)}

我想实现的是

 firstArr[0];
Object {name: "Lorem", post_id: 2, randKey: Array(2) = {sec:'Deca', another_id:2},{sec:'Raca', another_id:2} }

所以我的问题是它只附加一个数组,但它应该附加两个 if (post_id =2 === another_id = 2)

我希望我已经足够清楚了。

最佳答案

试试Array#forEach用于迭代 firstArrayArray#filter用于过滤 secondArr 与受尊重的 postid 匹配

var firstArr = [{name:'Lorem', post_id:2},{name:'Ipsum', post_id:1}];
var secondArr = [{sec:'Deca', another_id:2},{sec:'Meca', another_id:1},{sec:'Raca', another_id:2}];


firstArr.forEach(function(item,i) {
item.randKey = secondArr.filter(a=> a.another_id == item.post_id)
});

console.log(firstArr)
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 如果第二个对象数组具有相同的值,则将数组添加到对象数组内的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44277190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com