фильтр массив обьектов
Добрый день уважаемые форумчане.
помогите разобраться в одном вопросе. у меня есть два массива объектов, к примеру: let obj1 = [ {id:1, name="вася"}, {id:2, name="петя"}, {id:3, name="маша"}, {id:4, name="даша"} ] let obj2 = [ {id:1}, {id:2} ] и мне нужно вывести объекты где id obj2 совпадает с obj1 запутался с фильтрами и сортировками, в итоге у меня получается достичь цели, но код выглядет громостким и "грязным" |
только "ослах" не будет работать %)
let obj1 = [ { id: 1, name: "вася" }, { id: 2, name: "петя" }, { id: 3, name: "маша" }, { id: 4, name: "даша" } ] let obj2 = [ { id: 1 }, { id: 2 } ] let obj2Keys = obj2.map(o2 => o2.id) let result = obj1.filter(o1 => obj2Keys.includes(o1.id)) console.log(result) |
SuperZen,
лишний цикл let obj1 = [ {id:1, name:"вася"}, {id:2, name:"петя"}, {id:3, name:"маша"}, {id:4, name:"даша"} ]; let obj2 = [ {id:1}, {id:2} ]; var filtred = obj1.filter(el=> obj2.some(el2=> el2.id==el.id)); console.log(filtred); |
j0hnik, Ок )
|
спасибо вам большое :)
|
Часовой пояс GMT +3, время: 23:13. |