Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Filter array of objects based on another array in javascript

Given an array of objects :

people = [     {id: "1", name: "abc", gender: "m", age:"15" },     {id: "2", name: "a", gender: "m", age:"25" },     {id: "3", name: "efg", gender: "f", age:"5" },     {id: "4", name: "hjk", gender: "m", age:"35" },     {id: "5", name: "ikly", gender: "m", age:"41" },     {id: "6", name: "ert", gender: "f", age:" 30" },     {id: "7", name: "qwe", gender: "f", age:" 31" },     {id: "8", name: "bdd", gender: "m", age:" 78" }, ] 

And an array of wanted ids:

id_filter = [1,4,5,8] 

How to filter array people to return the target ids defined in id_filter and of gender=m ?

like image 324
ios_star Avatar asked Oct 23 '17 16:10

ios_star


People also ask

How do I filter two arrays of objects?

Filter an array containing objects based on another array containing objects in JavaScript. const arr1 = [{id:'1',name:'A'},{id:'2',name:'B'},{id:'3',name:'C'},{id:'4',name:'D'}]; const arr2 = [{id:'1',name:'A',state:'healthy'},{id:'3',name:'C',state:'healthy'}];


1 Answers

The simplest way to filter is to use the array's filter() function, similar to this:

people.filter(person => id_filter.includes(person.id)) 
like image 164
Joe Sasson Avatar answered Oct 07 '22 00:10

Joe Sasson