quiero hacer algo como esto,
let array1 = [{obj1}, {obj2},{obj3}] let array2 = [{obj1}, {obj4},{obj5}]la salida debe ser como
{obj1}
Esto podría funcionar para objetos simples.
Tenga en cuenta que no funcionará para propiedades basadas en funciones.
const array1 = [{a:1}, {b:2},{c:3}] const array2 = [{a:1}, {d:4},{e:5}] const array1Stringify = array1.map(el => JSON.stringify(el)); const array2Stringify = array2.map(el => JSON.stringify(el)); const result = array1Stringify.filter(el => array2Stringify.includes(el)).map(el => JSON.parse(el)); console.log(result);Como se comentó, la mayor parte de su problema es definir cómo se evaluará la igualdad de sus objetos. Una vez que lo resuelva, simplemente verifique las coincidencias de una matriz en la otra para obtener las coincidencias que busca. La forma más legible e ingenua, con un doble for.
let array1 = ['hello', 'world', 'I rule'] let array2 = ['hello', 'whatever', 'hey brother'] let matches = []; for (let i = 0; i < array1.length; i++) { for (let j = 0; j < array2.length; j++) { if (array1[i] === array2[j]) { //equality for object problem here matches.push(array1[i]); } } } console.log({matches});