Tengo dos matrices:
dataArray1 = [{ "id":1 "addressDetails": {55:1,56:20} }, { "id":2 "addressDetails": {55:30,56:10} } ]La matriz anterior contiene detalles de dirección como objeto.
dataArray2= [{ "id":1 "addressDetails": [ { "addressId": "55", "city":"london", "code":1 }, { "addressId": "56", "city":"paris", "code":1 } ] }, { "id":2 "addressDetails": [ { "addressId": "55", "city":"london", "code":0 }, { "addressId": "56", "city":"paris", "code":0 } ] } ]Esta segunda matriz contiene arrayDetails como matriz.
En ambas matrices, id y addressId serán iguales. Sobre la base de estas dos identificaciones, necesito reemplazar el objeto addressDetails en dataArray1 por la matriz addressDetails de dataArray2. En este reemplazo, necesito cambiar el valor de la propiedad "código" de la matriz addressDetails con el valor del lado derecho (valor en el lado derecho en addressDetailObject) para ese id y addressId en particular. Por ejemplo, para Id "1" y addressId "55", en el objeto addressDetails - "addressDetails": {55:1,56:10} valor es "1", por lo que necesito cambiar el valor de la propiedad "code" en addressDetailsArrays con 1 y copie los demás atributos tal como están. ¿Cómo puedo hacer eso?
Para esto puedes correr
let result = array1.map((item) => { //code to change item here //find address value of array2 based on id and addressId //replace the code with the address.code details you found above });Lo que estamos haciendo aquí es iterar sobre los elementos de array1 y devolver un valor actualizado para cada elemento.