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

177
Vistas
Filtro de objetos conciso para una matriz de objetos.

Quiero filtrar los pares clave/valor de un objeto a una matriz de objetos por valor, ¿cuál es la forma más concisa de hacerlo?

datos de entrada

 { a: 0 b: 0 c: 2 d: 1 }

datos de salida basados en cualquier valor que no sea 0

 [ {name:"c", value:2}, {name:"d", value:1} ]
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

aquí hay una solución usando filter y map en las entradas de objetos. Object.entries devuelve una matriz de pares [key,value] , es decir [["a", 0], ["b", 0], ["c", 2], ["d", 1]] para este ejemplo . Primero filtro las entradas sin valor 0 , luego mapeo a través de la matriz de resultados y regreso en el formato que desea

 let a = { a: 0, b: 0, c: 2, d: 1} let r = Object.entries(a).filter(([k,v]) => v!==0).map(([name,value])=>({name,value})) console.log(r)

y una solución usando reduce
aquí estoy comprobando si el valor es 0 dentro del ciclo y agregando al acumulador si no lo es.
Recomendaría reduce ya que recorre la matriz de entradas solo una vez. Mientras que en el primero tiene que hacer un bucle por separado para las etapas de filter y map .

 let a = {a: 0,b: 0,c: 2,d: 1} let r = Object.entries(a).reduce((acc,[name,value]) => { if(value !==0)acc.push({name,value}) return acc },[]) console.log(r)

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