Tengo 2 matrices (array1 y array2). Quiero comparar array1 y array2 usando 'id' como clave y quiero crear 2 matrices resultantes de array2.
const array1 = [{ id: 176770 }, { id: 176771 }, { id: 176820 }]; const array2 = [ { id: 176770, classfication: "comeone", type: "typeee" }, { id: 176771, classfication: "comeone1", type: "typeee1" }, { id: 176820, classfication: "comeone2", type: "typeee2" }, { id: 176670, classfication: "comeone", type: "typeee" }, { id: 176761, classfication: "comeone1", type: "typeee1" }, { id: 176845, classfication: "comeone2", type: "typeee2" }, ];Por favor, ayúdame a crear estas 2 matrices.
Puede recorrer la segunda matriz y find un elemento con la misma id en la primera matriz. Si no hay ningún elemento presente en la primera matriz, entonces se cumple su primera condición (guárdelo en result1 ). Si el elemento existe en la primera matriz, su segunda condición se cumple (Almacenarlo en result2 )
const array1 = [{ "id": 176770 }, { "id": 176771 }, { "id": 176820 }] const array2 = [{ "id": 176770, "classfication": "comeone", "type": "typeee" }, { "id": 176771, "classfication": "comeone1", "type": "typeee1" }, { "id": 176820, "classfication": "comeone2", "type": "typeee2" }, { "id": 176670, "classfication": "comeone", "type": "typeee" }, { "id": 176761, "classfication": "comeone1", "type": "typeee1" }, { "id": 176845, "classfication": "comeone2", "type": "typeee2" }] let result1 = [] let result2 = []; for (let element of array2) { let existingInFirst = array1.find(ele => ele.id == element.id); if (!existingInFirst) { result1.push(element) } else{ result2.push(element) } } console.log(result1) console.log(result2)