Tengo un objeto (obj) que contiene una matriz (crear), me gustaría acceder al campo crear y modificar 'PROPIETARIO' a 'PROPIETARIO_ID'. Tengo otros datos en la matriz de creación, por lo que no deseo borrarlos.
const obj = { pro: 0, gr: 0, create: [ { field: "OWNER", value: 12345 } ] };
esto es lo que tengo ahora:
const owner = obj.create.find((ele) => ele.field === 'OWNER'.join('_ID'); console.log('owner', owner);
si entiendo bien puedes hacer esto
const newObject = { ...obj, create: obj.create.map(({ field, value }) => ({ field: field === "OWNER" ? `${field}_ID` : field, value })), }
Primero debe encontrar el elemento, luego debe asignar la propiedad owner.field
a su valor más el _ID
const obj = { pro: 0, gr: 0, create: [ { field: "OWNER", value: 12345 } ] }; const owner = obj.create.find((ele) => ele.field === 'OWNER'); owner.field = owner.field +'_ID' console.log('owner', owner); console.log('obj', obj);
Probar:
const obj = { pro: 0, gr: 0, create: [ { field: "OWNER", value: 12345 } ] }; let owner = obj.create.find(x => x.field == "OWNER"); if(owner) { owner.field = "OWNER_ID"; } console.log(obj);