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

142
Views
Comparación de cadenas que da un resultado incorrecto en Javascript

Tengo debajo del archivo months.txt en el que tengo el contenido:

 January February March

Luego leí el contenido del archivo en una matriz usando el siguiente código:

 var data=fs.readFileSync('./months.txt'); data=data.toString().split("\n");

Luego envío esta matriz de datos como variable ejs al front-end (la matriz de datos tiene el nombre de todos los meses):

 res.render("file.ejs",{months: data});

Estoy usando la matriz de data en el archivo ejs como:

 <select name="month"> <option value="<%= months[0] %>">January</option> <option value="<%= months[1] %>">February</option> <option value="<%= months[2] %>">March</option> </select>

Cuando el elemento elegido en el menú desplegable anterior se envía al servidor, se imprime el nombre del mes correcto, pero ahora viene el problema. Si selecciono febrero y hago esto:

 console.log(req.body.month);// prints February console.log(req.body.month=="February");// prints false

¿Cuál podría ser la posible razón detrás de esto? ¡Cualquier sugerencia es bienvenida!

EDITAR : acabo de imprimir una matriz de datos y contiene estos elementos extraños: [ 'January\r', 'February\r', 'March\r' ] ¿Qué es esto \r ? Quizás debido a esta comparación está devolviendo falso.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

En las computadoras con Windows, los saltos de línea se indican con \r\n en lugar de \n. Usar .split('\n') probablemente dejaría en \r, lo que hace que la comparación sea falsa.

Cambiar su data.toString().split('\n') a data.toString().split('\r\n') probablemente los eliminaría.

about 4 years ago · Juan Pablo Isaza Report

0

Recomiendo: data.toString().replace('\r','').split('\n')

about 4 years ago · Juan Pablo Isaza 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!