Así que tengo problemas para descubrir cómo crear una matriz con dos objetos, recorrer mi objeto y agregar algunos valores a esos objetos en Javascript. Actualmente tengo la siguiente respuesta simulada:
const mockResponse = { "errors": [ { "errorKey": "ERROR_NO_DELIVERY_OPTIONS", "errorParameters": [ { "errorMessage": "ERROR_DELIVERY_OPTIONS_YOU_SELECTED_NOT_AVAILABLE_NOW", "partNumbers": [ 19308033, 19114798 ] }, { "errorMessage": "Ship to Home not available for these orderItemId", "orderItemIds": [ 10315031, 10315032 ], "availableShipModeId": 13203 }, { "errorMessage": "Pickup At Seller not available for these orderItemIds", "orderItemIds": [ 10222222, 10333333 ], "availableShipModeId": 13203 } ], "errorMessage": "ERROR_NO_DELIVERY_OPTIONS", "errorCode": "ERROR_NO_DELIVERY_OPTIONS" } ] }Me gustaría tener una matriz con dos objetos. Uno para el primer mensaje de error ("Enviar a domicilio...") y otro para el segundo mensaje de error ("Recogida en el vendedor..."). Luego me gustaría recorrer el JSON y agregar cada "orderItemIds" al objeto respectivo. Por ejemplo, 10315031,10315032 iría al primer objeto y 10222222, 10333333 al segundo.
Puede usar reduce para recorrer sus errores y usar la propiedad errorMessage como clave
const result = mockResponse.errors[0].errorParameters.reduce((prev, item) => { const { errorMessage, orderItemIds } = item; if (prev[errorMessage]) { prev[errorMessage] = [...prev[errorMessage], ...orderItemsIds]; } else { prev[errorMessage] = orderItemIds } return prev }, {})Déjame saber si esto responde a tu pregunta