gpt4 book ai didi

javascript - 如何使用集合作为谓词来过滤数组

转载 作者:行者123 更新时间:2023-11-28 18:02:43 25 4
gpt4 key购买 nike

假设我有一个巨大的数组集合(100K 记录),可以说( sourceArray )。我有另一个数组( matchIds )的列表,我需要用它来过滤这个 sourceArray 。我如何使用 lodash 实现这一目标?还是纯 JavaScript?

var sourceArray = [{
"id": 123,
},
{
"id": 456
},
{
"id": 789
},
{
"id": 111
},
{
"id": 222
},
{
"id": 333
}];


var matchIds = [123, 222];

以下过滤器仅匹配单个项目

console.log(
_.filter(sourceArray, function(arr){
return arr.id === 123;
})
);

http://jsbin.com/fegipuwuwa/1/edit?html,js,console

我真正期望的是 arr.id <..in..> matchIds

最佳答案

为什么不简单

var matchingArray = sourceArray.filter( function(item){
return matchIds.indexOf(item.id) != -1
});

这将返回与 matchIds 匹配的所有项目

关于javascript - 如何使用集合作为谓词来过滤数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43251078/

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