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

214
Vistas
¿Cómo actualizar todas las coincidencias en una matriz de objetos?

Quiero actualizar esta matriz de objetos.

 var a = [{"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"e468c4ff-98c8-4d53-986e-529e4a199540","answer":"none"}, {"uuid":"f71835b7-b57a-4971-9f0b-ff0474fd495e","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}]

a

 var a = [{"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"found it"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"found it"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"found it"}, {"uuid":"e468c4ff-98c8-4d53-986e-529e4a199540","answer":"none"}, {"uuid":"f71835b7-b57a-4971-9f0b-ff0474fd495e","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"found it"}]

Esto solo actualiza la primera coincidencia en esta matriz, pero lo necesito para actualizar todas las coincidencias.

 a.find(x => x.uuid == "93161c2b-6c56-4204-b6b5-c5c3cee0f38a").answer = "found it"

Sé que puedo recorrer la matriz para cambiar cada respuesta que coincida con el uuid, pero ¿hay una mejor manera de hacerlo?

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Una forma breve y sencilla de recorrerlos todos y cambiarlos sería con forEach :

 var a = [{"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"e468c4ff-98c8-4d53-986e-529e4a199540","answer":"none"}, {"uuid":"f71835b7-b57a-4971-9f0b-ff0474fd495e","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}]; a.forEach((elem, idx) => { if (elem.uuid == "93161c2b-6c56-4204-b6b5-c5c3cee0f38a") { elem.answer = "found it"; } }); console.log(a);

Alternativamente, puede usar map , otra forma abreviada de hacer de manera efectiva lo que describió. Devuelve una nueva matriz:

 var a = [{"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"e468c4ff-98c8-4d53-986e-529e4a199540","answer":"none"}, {"uuid":"f71835b7-b57a-4971-9f0b-ff0474fd495e","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}]; a = a.map(elem => elem.uuid == "93161c2b-6c56-4204-b6b5-c5c3cee0f38a" ? ({ ...elem, answer: "found it" }) : elem); console.log(a);

Tenga en cuenta que esto aún recorrerá la matriz, pero es una forma más ordenada de hacerlo (creando una nueva matriz basada en la original). Utilicé la sintaxis de difusión de objetos { ...elem } anterior para que también conserve otras propiedades en sus objetos si hay más. Otra forma más detallada de hacer esto sería:

 var a = [{"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"e468c4ff-98c8-4d53-986e-529e4a199540","answer":"none"}, {"uuid":"f71835b7-b57a-4971-9f0b-ff0474fd495e","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}]; a = a.map(elem => { if (elem.uuid == "93161c2b-6c56-4204-b6b5-c5c3cee0f38a") { elem.answer = "found it"; } return elem; }); console.log(a);

about 4 years ago · Santiago Trujillo Denunciar

0

Hay 2 formas de lograr el resultado:

1) Usando forEach : (Forma preferida)

 var data = [{"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"e468c4ff-98c8-4d53-986e-529e4a199540","answer":"none"}, {"uuid":"f71835b7-b57a-4971-9f0b-ff0474fd495e","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}] const updateRecord = (data, id) => { data.forEach((record) => { if(record.uuid === id){ record.answer = 'found it' } return record }) return data } console.log(updateRecord(data, "93161c2b-6c56-4204-b6b5-c5c3cee0f38a"))

2) Usando el mapa :

 var data = [{"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}, {"uuid":"e468c4ff-98c8-4d53-986e-529e4a199540","answer":"none"}, {"uuid":"f71835b7-b57a-4971-9f0b-ff0474fd495e","answer":"none"}, {"uuid":"93161c2b-6c56-4204-b6b5-c5c3cee0f38a","answer":"none"}] const updatedData = data.map(record => record.uuid == "93161c2b-6c56-4204-b6b5-c5c3cee0f38a" ? ({ ...record, answer: "found it" }) : record); console.log(updatedData);

about 4 years ago · Santiago Trujillo 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