Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

212
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!