我正在尝试根据条件数组进行过滤
let myArr = [{id:1, performed:1},{id:12, performed:1},{id:34, performed:13}]
let conditon_id = [ 12,34,34] //these values are dynamic
通过过滤具有myArr
和performed=1
的所有id
项在conditon_id
数组中的。所以我尝试了
myArr.filter(item => item.performed === 1 && //now I am stuck )
我坚持添加检查器,确认该项目的ID为12或34。值12和34不断变化。我该如何执行
我也检查了This question和This solution,但都没有解决条件数组和附加条件的问题。
我该如何实现?
答案 0 :(得分:3)
只需添加includes
:
myArr.filter(item => item.performed ===1 && condition_id.includes(item.id));
答案 1 :(得分:0)
这正在工作
let myArr = [{"id":1, "performed":1},{"id":12, "performed":1},{"id":34, "performed":13}]
let conditon_id = [ 12,34,34];
let filtered=myArr.filter(value => {
if(value.performed==1 && conditon_id.includes(value.id)) {
return value;
}
})
console.log(filtered)
答案 2 :(得分:0)
据我了解,您需要使用condition_id数组作为ID过滤myArr。
那你就可以写
myArr.filter(item=>item.performed === 1 && conditon_id.indexOf(item.id) !== -1)