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

258
Vistas
Cómo obtener la matriz de objetos según el valor del objeto en javascript

Me gustaría saber cómo obtener la lista de matrices de objetos en función de los valores que coinciden en javascript

Si alguno de los valores del objeto coincide con el parámetro, devuelva esa matriz en javascript.

 var objarr = [ {id:1, email: 'xyz@gmail.com', value: 10, name: 'ram'}, {id:2, email: 'xyz@gmail.com', value: 20, name: 'Tom'}, {id:3, email: 'ss@gmail.com', value: 30, name: 'Lucas'}, {id:4, email: 'ct@gmail.com', value: 40, name: 'Chris'}, {id:5, email: 'tam@gmail.com', value: 30, name: 'Lucas Tim'} ] function getList(val){ var result=[]; var checkdata = objarr.filter(e=>{ if(Object.values(e)===val){ result.push(e); } return result; }) } console.log(result); Expected Output: getList('xyz@gmail.com'); scenario 1: [ {id:1, email: 'xyz@gmail.com', value: 10, name: 'ram'}, {id:2, email: 'xyz@gmail.com', value: 20, name: 'Tom'} ] scenario 2: getList('Chris'); [ {id:4, email: 'ct@gmail.com', value: 40, name: 'Chris'} ]
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Su función Array.filter debería devolver true o false según los criterios de búsqueda.

Object.values devuelve un Array como salida. Para verificar si un valor está en una matriz, puede usar Array.includes .

Debe comprobar el valor con Object.values(e).includes(val)

violín de trabajo

 var objarr = [ { id: 1, email: 'xyz@gmail.com', value: 10, name: 'ram' }, { id: 2, email: 'xyz@gmail.com', value: 20, name: 'Tom' }, { id: 3, email: 'ss@gmail.com', value: 30, name: 'Lucas' }, { id: 4, email: 'ct@gmail.com', value: 40, name: 'Chris' }, { id: 5, email: 'tam@gmail.com', value: 30, name: 'Lucas Tim' } ] function getList(val) { var checkdata = objarr.filter(e => { if (Object.values(e).includes(val)) { return true; } return false; }) return checkdata; } console.log(getList('xyz@gmail.com')); console.log(getList('Chris'));

Versión simplificada

 var objarr = [ { id: 1, email: 'xyz@gmail.com', value: 10, name: 'ram' }, { id: 2, email: 'xyz@gmail.com', value: 20, name: 'Tom' }, { id: 3, email: 'ss@gmail.com', value: 30, name: 'Lucas' }, { id: 4, email: 'ct@gmail.com', value: 40, name: 'Chris' }, { id: 5, email: 'tam@gmail.com', value: 30, name: 'Lucas Tim' } ] const getList = (val) => objarr.filter(e => Object.values(e).includes(val)) console.log(getList('xyz@gmail.com')); console.log(getList('Chris'));

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar el filter y usar Object.values para obtener todos los valores de un objeto y luego usar some para obtener el resultado deseado.

ONE LINER

 objarr.filter((o) => Object.values(o).some((v) => v === val)); 

 var objarr = [ { id: 1, email: "xyz@gmail.com", value: 10, name: "ram" }, { id: 2, email: "xyz@gmail.com", value: 20, name: "Tom" }, { id: 3, email: "ss@gmail.com", value: 30, name: "Lucas" }, { id: 4, email: "ct@gmail.com", value: 40, name: "Chris" }, { id: 5, email: "tam@gmail.com", value: 30, name: "Lucas Tim" }, ]; const getList = val => objarr.filter((o) => Object.values(o).some(v => v === val)); console.log(getList("xyz@gmail.com")); console.log(getList("Chris"));
 /* This is not a part of answer. It is just to give the output full height. So IGNORE IT */ .as-console-wrapper { max-height: 100% !important; top: 0; }

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