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

102
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 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