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

853
Views
¿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 answers
Answer question

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 Report

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 Report

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