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

519
Views
Cómo eliminar 'indefinido' en Object.keys para forEach

Hola, estoy usando el nodo Js y tengo un problema con forEach en Object.keys , en el siguiente código cuando intento ejecutarlo, había un valor indefinido en el primer valor de salida. Por ejemplo, digamos que el valor de la variable de entrada es:

 input = [dog, cat, mouse, horse, pig];

Luego, cuando se ejecuta el programa (consulte el código a continuación ...) El valor de val (con el ciclo forEach y Object.keys ) es

val = indefinido perro más el animal gato más el animal ratón más el animal caballo más el animal cerdo

Espero que entiendan mi pregunta, gracias.

 var input = JSON.parse(JSON.stringify(req.body)); var val; Object.keys(input).forEach(function(key) { if(key!='undefined') { val +=' '+key+' plus the animal'; } }); console.log(val);
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

cambia tu var val; a var val = '' . Cuando escribes var val; , val se asigna undefined en el que luego está concatenando su texto. Si, en cambio, define val como una cadena en blanco, no tendrá este problema. Además, como se señaló anteriormente, no necesita Object.keys ya que ya está trabajando con una matriz

 var input = JSON.parse(JSON.stringify(req.body)); var val = ''; input.forEach(function(key) { val +=' '+key+' plus the animal'; }); console.log(val);
over 4 years ago · Santiago Trujillo Report

0

Tu solución parece estar bien. Solo necesita manejar la primera iteración y no necesita Object.keys ya que la entrada es una matriz.

 var val; input.forEach(function(key) { if(!val && key!='undefined') val = key + ' plus'; else if(key!='undefined') { val +=' '+key+' plus the animal'; } }); console.log(val);
over 4 years ago · Santiago Trujillo Report

0

En JavaScript, si no asigna un valor a su variable cuando la declara, no se define como predeterminada. Así que si tienes algo como esto:

 var drink; //The value is undefined now drink +=' Milk';// now , this will be "undefined Milk"

en tu codigo tienes

 var val;

el valor de val no está definido en esta línea

por lo que solo necesita establecer un valor para val cuando lo declare, en su caso, debería ser una cadena, por lo que:

 var val="";

ahora ya no obtendrá "indefinido" en su salida.

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!