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

97
Views
Filtre una matriz de objetos según el nombre de la clave en los objetos

Tengo una matriz de objetos que quiero filtrar según el nombre de la clave para esos objetos. En este caso particular, sé que habrá un par clave/valor para cada elemento de la matriz.

Supongamos una matriz que se parece a esto:

 let dataArray = [ { "name": "David" }, { "location": "New York" }, { "name": "Jenna" } ]

Lo que quiero terminar es solo una matriz donde la key es 'nombre':

 [ { name: "David" }, { name: "Jenna" } ]

He intentado varias formas de hacer esto usando el método de filter , como este:

 const namesArr = dataArr.filter(i => i[key] === 'name');

Pero ninguno parece producir el resultado correcto.

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

0

Use el operador in para verificar si existe una propiedad en el objeto:

 const dataArray = [{"name":"David"},{"location":"New York"},{"name":"Jenna"}]; // name exists on the object console.log(dataArray.filter(item => 'name' in item)); // or location doesn't exist on the object console.log(dataArray.filter(item => !('location' in item)));

about 4 years ago · Juan Pablo Isaza Report

0

Puede usar el operador in para filtrar por la presencia de una clave en particular, consulte la referencia .

 dataArr.filter(obj => 'name' in obj)

Solo verificar obj.name excluiría los objetos donde el campo 'name' es false , null o undefined , incluso si la propiedad está presente en el objeto.

about 4 years ago · Juan Pablo Isaza Report

0

Puede usar object.hasOwnProperty('name') que devuelve un valor booleano que indica si el objeto tiene un nombre de propiedad

 let dataArray = [ { "name": "David" }, { "location": "New York" }, { "name": "Jenna" } ] const filtered = dataArray.filter(x => x.hasOwnProperty('name')); console.log(filtered);

otra opción es usar el operador in :

 let dataArray = [ { "name": "David" }, { "location": "New York" }, { "name": "Jenna" } ] const filtered = dataArray.filter(x => 'name' in x); console.log(filtered);

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!