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

117
Vistas
Actualizar matriz de estado de reacción de objetos anidados

Tal vez esto sea estúpido, pero mi estado es una matriz de objetos anidados: o Se ve de la siguiente manera:

 const data = [ { randomid1: { name: 'lorem', latinName: 'ipsem', }, }, { randomid2: { name: 'lorem2', latinName: 'ipsem2', }, }, ]

Necesito actualizar esta matriz con un nuevo nombre y/o nombre latino para uno de los elementos (digamos randomid1.name.

He estado luchando con la difusión, etc., pero sigo recibiendo errores. Ahora estoy tratando de mapear algo, pero esto tampoco funcionará. ¿Cualquiera?

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

0

Puede verificar si la matriz contiene un determinado elemento usando Array#find y Object#hasOwnProperty :

 const data = [ { randomid1: { name: 'lorem', latinName: 'ipsem' } }, { randomid2: { name: 'lorem2', latinName: 'ipsem2' } } ], id = 'randomid2'; const elem = data.find(e => e.hasOwnProperty(id)); if(elem) { elem[id].name = 'new name'; } console.log(data);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Creo que la solución ya proporcionada es mejor, pero si desea saber cómo podría ser posible con el mapa, aquí hay una forma de hacerlo:

 const data = [ { randomid1: { name: 'lorem', latinName: 'ipsem' } }, { randomid2: { name: 'lorem2', latinName: 'ipsem2' } } ]; const id = 'randomid2'; const newdata2 = data.map((elt) => { if (elt[id]) { return {[id] : {...elt[id], name: "new Name"}}; } return elt; }); console.log(newdata2)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Yo haría esto:

 // will iterate on all the top level objects for (const itemWrapper of data) { // will iterate just once for (const item of Object.values(itemWrapper)) { if (item.name = 'whatever') { // update item } } }

Puede mover esta función y regresar cuando se haya encontrado el elemento para un mejor rendimiento.

PD: la estructura de datos parece un poco difícil de usar, si puede cambiarla a algo que esté indexado por lo que está buscando, sería genial.

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