gpt4 book ai didi

javascript如何根据另一个对象数组过滤一个对象数组

转载 作者:行者123 更新时间:2023-12-01 02:28:41 31 4
gpt4 key购买 nike

这是示例,请帮助提供等效的 JavaScript 代码

array A = [{id: 1, name:'cat'},{id:2, name:'dog'},{id:3, name:'tiger'}];

array B = [{name:'cat'},{name:'dog'}];

结果

expected = [{id: 1, name:'cat'},{id:2, name:'dog'}];

需要根据数组 B 中可用的名称过滤数组 A

类似于 SQL where name in ('cat','dog')

尝试使用array.filterindexOf !== -1

但没有得到预期的结果。

最佳答案

随着数组变得越来越大,最好构建一个查找对象,但使用 Array.prototype.filter() 是一种简单的方法。和 Array.prototype.some()可能如下所示:

const a = [{id: 1, name:'cat'}, {id:2, name:'dog'}, {id:3, name:'tiger'}];
const b = [{name:'cat'}, {name:'dog'}];

const result = a.filter(x => b.some(y => x.name === y.name));

console.log(result);

关于javascript如何根据另一个对象数组过滤一个对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48494295/

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