根据匹配的键/值属性过滤对象数组?

时间:2018-05-30 17:25:36

标签: javascript

这是我试图解决的问题。我知道如何与对象进行直接比较,但我知道如何在过滤器fx中进行任一或属性比较。

LoadLibrary

1 个答案:

答案 0 :(得分:1)

就是这样。 filterTasks将返回一个数组,该数组仅包含传递的数组中与传递的对象中至少有1个键/值对匹配的任务。

tArr = [{name: "hi",id: 1},{name: "hola",id: 2},{name: "hello",id: 3},{name: "bye",id: 4}];

const filterTasks = (taskArray, obj) => taskArray.filter( task => Object.keys(task).some( key => obj[key] && obj[key]==task[key]));

console.log(filterTasks(tArr,{name:"hi",id:2}));