Вот несколько способов найти пересечение массивов объектов в JavaScript:
-
Использование методов Array filter() и some():
const intersection = (array1, array2) => { return array1.filter(obj1 => array2.some(obj2 => obj1.key === obj2.key && obj1.value === obj2.value)); }; -
Использование метода Array сокращение():
const intersection = (array1, array2) => { return array1.reduce((result, obj1) => { if (array2.some(obj2 => obj1.key === obj2.key && obj1.value === obj2.value)) { result.push(obj1); } return result; }, []); }; -
Использование методов Array forEach() и find():
const intersection = (array1, array2) => { const result = []; array1.forEach(obj1 => { const found = array2.find(obj2 => obj1.key === obj2.key && obj1.value === obj2.value); if (found) { result.push(obj1); } }); return result; };
Эти методы сравнивают объекты в массивах на основе определенных ключей и значений. Вы можете изменить логику сравнения в соответствии со своими требованиями.