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

241
Views
¿Cómo cambiar el valor del objeto que está dentro de una matriz usando JavaScript o jQuery?

El siguiente código proviene de jQuery UI Autocompletar:

 var projects = [ { value: "jquery", label: "jQuery", desc: "the write less, do more, JavaScript library", icon: "jquery_32x32.png" }, { value: "jquery-ui", label: "jQuery UI", desc: "the official user interface library for jQuery", icon: "jqueryui_32x32.png" }, { value: "sizzlejs", label: "Sizzle JS", desc: "a pure-JavaScript CSS selector engine", icon: "sizzlejs_32x32.png" } ];

Por ejemplo, quiero cambiar el valor desc de jquery-ui . ¿Cómo puedo hacer eso?

Además, ¿hay una forma más rápida de obtener los datos? Me refiero a darle un nombre al objeto para obtener sus datos, ¿al igual que el objeto dentro de una matriz? Entonces sería algo como jquery-ui.jquery-ui.desc = ....

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

es bastante simple

  • Encuentre el índice del objeto usando el método findIndex .
  • Almacene el índice en variable.
  • Haz una actualización simple como esta: yourArray[indexThatyouFind]

 //Initailize array of objects. let myArray = [ {id: 0, name: "Jhon"}, {id: 1, name: "Sara"}, {id: 2, name: "Domnic"}, {id: 3, name: "Bravo"} ], //Find index of specific object using findIndex method. objIndex = myArray.findIndex((obj => obj.id == 1)); //Log object to Console. console.log("Before update: ", myArray[objIndex]) //Update object's name property. myArray[objIndex].name = "Laila" //Log object to console again. console.log("After update: ", myArray[objIndex])

over 4 years ago · Santiago Trujillo Report

0

Tienes que buscar en la matriz como:

 function changeDesc( value, desc ) { for (var i in projects) { if (projects[i].value == value) { projects[i].desc = desc; break; //Stop this loop, we found it! } } }

y usarlo como

 var projects = [ ... ]; changeDesc ( 'jquery-ui', 'new description' );

ACTUALIZAR:

Para conseguirlo más rápido:

 var projects = { jqueryUi : { value: 'lol1', desc: 'lol2' } }; projects.jqueryUi.desc = 'new string';

(De acuerdo con el comentario de Frédéric, no debe usar un guión en la clave del objeto, o debe usar la notación "jquery-ui" y projects["jquery-ui"]).

over 4 years ago · Santiago Trujillo Report

0

La mejor solución, gracias a ES6.

Esto devuelve una nueva matriz con una descripción reemplazada para el objeto que contiene un valor igual a "jquery-ui".

 const newProjects = projects.map(p => p.value === 'jquery-ui' ? { ...p, desc: 'new description' } : p );
over 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!