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

314
Views
¿Cómo obtener un valor de matriz de objetos (par clave-valor) en javascript?

Buen tiempo, tengo una serie de objetos como este:

 var sections = [ {key: 0, label: 'Nothing'}, {key: 11, label: 'Alex Right'},{key: 12, label: 'Dolores Black'},{key: 21, label: 'Bobby Smith'},{key: 26, label: 'Andrew Small'} ];

Entonces, por ejemplo, quiero obtener una etiqueta que sea para key=12 (tiene que ser Dolores Black). Si uso algo como:

 alert(sections[11]['label']);

esto será incorrecto, porque encontrará el elemento 12 de la matriz, no un elemento con clave = 12. Entonces, ¿cuál es la expresión correcta para mi caso? Gracias

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Utilice Array#find :

 let sections = [ {key: 0, label: 'Nothing'}, {key: 11, label: 'Alex Right'},{key: 12, label: 'Dolores Black'},{key: 21, label: 'Bobby Smith'},{key: 26, label: 'Andrew Small'} ]; let res = sections.find(({key}) => key === 12)?.label; console.log(res);

about 4 years ago · Juan Pablo Isaza Report

0

Si sabe que el elemento es el enésimo en la matriz, use sections[n - 1]['label'] ; por ejemplo, para obtener a Dolores Black (el tercer elemento), harías lo siguiente:

 sections[2]['label']; // 3 - 1 = 2

Si no conoce la posición del elemento de antemano, debe darle alguna condición a JavaScript para que pueda encontrarlo; en su caso, la condición es item .key === 12 :

 sections.find((item) => item.key === 12)['label'];

Tenga en cuenta que en ambos casos asumimos que el elemento realmente existe en la matriz (si no es así, habrá errores).

about 4 years ago · Juan Pablo Isaza Report

0

Envolvería esto en una función. Dentro de la función uso la función js find(). Si tiene más elementos con la misma identificación, entonces usaría filter en lugar de find.

 const sections = [ {key: 0, label: 'Nothing'}, {key: 11, label: 'Alex Right'},{key: 12, label: 'Dolores Black'},{key: 21, label: 'Bobby Smith'},{key: 26, label: 'Andrew Small'} ]; const id = 11; function getLabel(id) { return sections.find(e => e.key === id)['label']; } console.log(getLabel(id))

about 4 years ago · Juan Pablo Isaza 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!