Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

124
Vistas
Cambiar el valor del objeto usando forEach

Estoy tratando de cambiar el valor del objeto de la matriz, pero no funciona como se esperaba. Intenté seguir.

 const arrObj = [ { "label": "test1", "value": 123, "type": "number", "field": { "label": "another", "description": "abcd" } }, { "label": "test2", "value": 111, "type": "number" }, ] arrObj.forEach(obj => { obj = {...obj, ...obj.field} delete obj.field }) console.log("after:", arrObj);

También encontré alguna solución para usar el índice, pero agrega el índice antes del objeto.

 const arrObj = [ { "label": "test1", "value": 123, "type": "number", "field": { "label": "abcd", "description": "abcd" } }, { "label": "test2", "value": 111, "type": "number" } ] arrObj.forEach((obj, index) => { obj[index] = {...obj, ...obj.field} delete obj.field }) console.log("after:", arrObj);

¿Cómo puedo hacer con forEach?

Editar:

Quiero eliminar el objeto de campo y asignar/sobrescribir toda la propiedad exterior.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Usaría el mapa para cambiar una matriz, pero es posible que tenga una razón por la que desee modificar el original. Simplemente podría reasignar arrObj a la salida del mapa.

 const arrObj = [ { "label": "test1", "value": 123, "type": "number", "field": { "label": "another", "description": "abcd" } }, { "label": "test2", "value": 111, "type": "number" }, ] const newArr = arrObj.map(( obj ) => { const {field, ...rest} = obj return {...field, ...rest} }) console.log("after:", newArr);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Usar el map y asignar el resultado es probablemente una mejor manera de hacerlo, pero si desea usar forEach , debe asignarlo a la matriz original dentro del bucle:

 const arrObj = [ { "label": "test1", "value": 123, "type": "number", "field": { "label": "another", "description": "abcd" } }, { "label": "test2", "value": 111, "type": "number" }, ] arrObj.forEach(({ field, ...rest}, idx, orig) => { orig[idx] = { ...rest, ...field } }) console.log(arrObj);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda