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

410
Views
Convertir cadena a un tipo (node.js)

Sé que esto parece un problema extraño, pero en este momento estoy creando un servidor web para guardar datos en una base de datos mongodb usando mongoose. Para usar eso, necesito crear un modelo con un esquema que básicamente defina los valores que puedo buscar, así como el tipo que deberían ser (Cadena, Número, etc.)

Como dije antes, dado que es un servidor web, me gustaría hacerlo de modo que el servidor web cree el modelo y el esquema, con un objeto de cuerpo en la solicitud. Sin embargo, hay un problema. Solo puedo pasar el tipo (Cadena, Número, etc.) como una cadena. Se me ocurrió una solución para analizar el valor en un tipo, que es el siguiente código

 getTypeByString: function (string) { if (string == 'String') { return String } if (string == 'Number') { return Number } if (string == 'Array') { return Array } if (string == 'Object') { return Object } }

Sin embargo, siento que probablemente haya una solución más simple. Si hay o no hay, por favor hágamelo saber! Eventualmente, me gustaría publicar mi código en GitHub, y me gustaría que fuera lo más dinámico y simple posible. Gracias de antemano

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

0

Podría usar una declaración de cambio para hacer el código un poco más simple:

 getTypeByString: function(stype){ switch(stype){ case "String": return String; case "Number": return Number; case "Array": return Array; case "Object" : return Object; default: return null; // or throw an error }; };
about 4 years ago · Juan Pablo Isaza Report

0

String , Number , Array y Object también son propiedades de la variable global (o variable de window si está en un navegador).

Puedes comprobarlo tú mismo evaluando:

 global['String'] === String // true

Por esta razón, puede usar la cadena para buscar el tipo dentro del objeto global y devolverlo:

 getTypeByString: function (string) { if (['String', 'Number', 'Array', 'Object'].includes(string)) // be sure that you are actually returning a type return global[string]; return null;
about 4 years ago · Juan Pablo Isaza Report

0

Con respecto a obtener un tipo definido de una cadena, puede usar un objeto para definir los tipos y usar la cadena como clave.

 const DefinedTypes = { String: String, Number: Number, Array: Array, Object: Object, CustomType: classOfCustomType };

usándolo

 const typeAsString = 'String'; const type = DefinedTypes[typeAsString];
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!