En mi API estoy recibiendo un JSON con 2 matrices, una de Empleados y otra con Gerentes, el objetivo es agregar los Gerentes a cada Empleado, sabiendo que el 1er índice de los gerentes corresponde al 1er índice de los empleados y así sucesivamente:
Este es un ejemplo de la solicitud a la API.
{ "employees" : [ { "code" : "111111", "name" : "Zé" }, { "code" : "222222", "name" : "João" }, { "code" : "444444", "name" : "António" }], "managers" : [ [ { "name": "vitor", "level" : "1" }, { "name": "Antonio", "level" : "2" } ], [ { "name": "Jose", "level" : "1" }, { "name": "Ines", "level" : "2" } ], [ { "name": "Luis", "level" : "1" }, { "name": "Ana", "level" : "2" } ] ]}
y mi objetivo es conseguir algo como esto:
[ { "code": "111111", "name": "Zé", "managers": [ { "name": "vitor", "level": "1" }, { "name": "Antonio", "level": "2" } ] }, { "code": "222222", "name": "João", "managers": [ { "name": "Jose", "level": "1" }, { "name": "Ines", "level": "2" } ] }, { "code": "444444", "name": "António", "managers": [ { "name": "Jose", "level": "1" }, { "name": "Ines", "level": "2" } ] } ]Ya intenté algunas cosas pero no puedo obtener el resultado esperado :( ¡Espero que me puedan ayudar! Gracias
function associate_employee_managers({ employees, managers }) { return employees && employees.length && employees .map((emp, index) => { return { ...emp, ["managers"]: managers && managers[index] || [] }; }) || {}; }Hay una correspondencia 1-1 (basada en el índice) entre las entradas dentro de la matriz de
employeesy la matriz demanagers
function associate_employee_managers({ employees, managers }) { return employees && employees.length && employees .map((emp, index) => { return { ...emp, ["managers"]: managers && managers[index] || [] }; }) || {}; } const jsonResponse = { "employees": [{ "code": "111111", "name": "Zé" }, { "code": "222222", "name": "João" }, { "code": "444444", "name": "António" } ], "managers": [ [{ "name": "vitor", "level": "1" }, { "name": "Antonio", "level": "2" } ], [{ "name": "Jose", "level": "1" }, { "name": "Ines", "level": "2" } ], [{ "name": "Luis", "level": "1" }, { "name": "Ana", "level": "2" } ] ] } console.log(associate_employee_managers(jsonResponse));WYSIWYG => WHAT YOU SHOW IS WHAT YOU GET