Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

411
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda