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

856
Vistas
¿Cómo eliminar valores indefinidos y nulos de un objeto usando lodash?

Tengo un objeto Javascript como:

 var my_object = { a:undefined, b:2, c:4, d:undefined };

¿Cómo eliminar todas las propiedades indefinidas? Los atributos falsos deben permanecer.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Simplemente puede encadenar _.omit() con composiciones _.isUndefined y _.isNull , y obtener el resultado con una evaluación perezosa.

Manifestación

 var result = _(my_object).omit(_.isUndefined).omit(_.isNull).value();

Actualización 14 de marzo de 2016 :

Como mencionan los dylants en la sección de comentarios, debe usar la función _.omitBy() ya que usa un predicado en lugar de una propiedad. Debe usar esto para lodash versión 4.0.0 y superior.

MANIFESTACIÓN

 var result = _(my_object).omitBy(_.isUndefined).omitBy(_.isNull).value();

Actualización 1 de junio de 2016 :

Como comentó Max Truxa , lodash ya proporcionó una alternativa _.isNil , que verifica tanto el null como el undefined :

 var result = _.omitBy(my_object, _.isNil);
over 4 years ago · Santiago Trujillo Denunciar

0

Si desea eliminar todos los valores falsos , la forma más compacta es:

Para Lodash 4.x y posteriores :

 _.pickBy({ a: null, b: 1, c: undefined }, _.identity); >> Object {b: 1}

Para Lodash 3.x heredado :

 _.pick(obj, _.identity); _.pick({ a: null, b: 1, c: undefined }, _.identity); >> Object {b: 1}
over 4 years ago · Santiago Trujillo Denunciar

0

La respuesta correcta es:

 _.omitBy({ a: null, b: 1, c: undefined, d: false }, _.isNil)

Eso da como resultado:

 {b: 1, d: false}

La alternativa dada aquí por otras personas:

 _.pickBy({ a: null, b: 1, c: undefined, d: false }, _.identity);

Eliminará también valores false que no se desean aquí.

over 4 years ago · Santiago Trujillo 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