当匹配另一个数组的属性时返回对象数组

时间:2017-01-01 17:17:19

标签: javascript

我想过滤一个数组

var arr = [{name:"james",id:10},{name:"john",id:2}]; 

我想要的是使用上面arr的{​​{1}}值删除不在[10,2]中的项目,例如id

我被困在地图

arr

2 个答案:

答案 0 :(得分:1)

您可以按照说明使用filter。过滤条件是arr.id位于[10, 2]

const filtered = arr.filter((item) => [10, 2].indexOf(item.id) !== -1);

这将仅保留ID为[10, 2]

的元素

答案 1 :(得分:0)

您可以使用_.keyBy_.at来避免回调

var res = _.chain(arr)
    .keyBy('id')
    .at([10, 2])
    .compact()
    .value();