Necesito una unión interna con dos matrices en javascript como esta:
array1 = [ { "id": 1, "name": "Tufan" }, { "id": 2, "name": "Batuhan" }, { "id": 3, "name": "Hasan" } ] array2 = [ { "name": "yyy", "externalid": "1", "value": "Asd" }, { "name": "aaaa" "externalid": "2", "value": "ttt" } ] expectedArray = [ { "id": 1, "name": "Tufan", "externalid": "1", "value": "Asd" }, { "id": 2, "name": "Batuhan", "externalid": "2", "value": "ttt" } ]normas:
Mi acercamiento:
array1.filter(e => array2.some(f => f.externalid == e.id)); // I need help for continue¿Cómo puedo hacer esto?
No importa la información: uso ES5 y javascript puro
Puedes hacerlo así:
const res = array2.map((item) => { const related = array1.find((el) => el.id == item.externalid); return { ...item, ...related }; });Usando un mapa para recorrer el array2 y un find para obtener el relativo array1.