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

163
Views
Cambiar el método de evaluación de javascript a otra solución

Intento deshacerme de un feo método de evaluación de javscript (porque todos sabemos que no es seguro). Tengo el siguiente problema. Construyo una cadena de búsqueda dinámica. Depende del TLD que un usuario decidió buscar.

Aquí está mi código:

 if (tld == 0) { var searchString = 'value.tld != ""'; } if (tld == 1) { var searchString = 'value.tld == "de"'; } if (tld == 2) { var searchString = 'value.tld == "com" || value.tld == "net" || value.tld == "org" || value.tld == "info" || value.tld == "biz"'; } if (tld == 3) { var searchString = 'value.tld == "io"'; }

Dependiendo del parámetro de búsqueda 'cadena de búsqueda', construyo esta rutina con eval:

 if (eval(searchString)) { // Do something special, depends on the tld variable }

¿Cómo puedo reconstruir esto sin usar 'eval'? La premisa es que la primera parte del código no se toca.

Gracias por adelantado

Mella

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

0

Qué tal si:

 let choices = { 1: ['de'], 2: ['com', 'net', 'org', 'info', 'biz'], 3: ['io'] }; function check(tldparam) { if (tld === 0) { return value.tld !== ""; } else { return tld === tldparam && choices[tldparam].includes(value.tld); } }

Y lo probamos como:

 // Got this value from somewhere let tld = 2; let value = {tld: 'net'}; // This is my checking criterion let tldparam = 2; if (check(tldparam)) { // Do something special, depends on the tld variable }

¿Sirve para tu propósito?

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!