gpt4 book ai didi

javascript - 使用 javascript 获取匹配的数组

转载 作者:行者123 更新时间:2023-11-28 12:16:30 25 4
gpt4 key购买 nike

我有两个数组。

第一个数组:

let array1 = [
{label:'john', value:1},
{label:'susan', value:2},
{label:'ann', value:3}
]

第二个数组:

let array2 = [
{id:1, name:'john', age:12},
{id:3, name:'ann', age:24}
]

我期待的是获取所有值与 array2 中的 id 匹配的 array1 对象

所以基本上解决方案应该具有:

{label:'john', value:1}
{label:'ann', value:3}

所以我尝试过:

let matches  = [];
array1.forEach((item1)=>{
array2.forEach((item2)=>{
if(item2.id === item1.value){
matches.push() //stuck here

}
})

})

我不知道如何将项目推送到新数组。另外看看我的代码,它看起来有点困惑。我如何重构代码才能工作。

最佳答案

您可以过滤 array2 并仅获取 array2valueid 匹配的对象。

方法:

var array1 = [{ label: 'john', value: 1 }, { label: 'susan', value: 2 }, { label: 'ann', value: 3 }],
array2 = [{ id: 1, name: 'john', age: 12 }, { id: 3, name: 'ann', age: 24 }],
result = array1.filter(({ value }) =>
array2.find(({ id }) =>
value === id
)
);

console.log(result);

关于javascript - 使用 javascript 获取匹配的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48582679/

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