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

302
Vistas
¿Cómo conviertes una variable en una cadena en JavaScript?

He estado buscando y en la mayoría de los foros la respuesta a esta pregunta es más o menos que no es necesario convertir una variable en una cadena. Sin embargo, dado el siguiente escenario, ¿cómo podría resolver el problema?

Tengo una categories de objeto de la siguiente manera:

 const categories = { 1: ctgOne, 2: ctgTwo, 3: ctgThree, 4: ctgFour, };

Estas categorías corresponden a objetos que contienen algunos datos arbitrarios:

 const ctgOne = { test1: ["blah", "blah", "blah"], test2: ["blah", "blah", "blah"], }; const ctgTwo = { test1: ["blah", "blah", "blah"], test2: ["blah", "blah", "blah"], test3: ["blah", "blah", "blah"], }; const ctgThree = { test1: ["blah", "blah", "blah"], test3: ["blah", "blah", "blah"], }; const ctgFour = { test2: ["blah", "blah", "blah"], test3: ["blah", "blah", "blah"], };

Tengo otra lista de categoryList de objetos que contiene algunos números asociados a cada categoría en matrices:

 const categoryList = { ctgOne: [1, 3, 5, 8, 13], ctgTwo: [23, 4, 78], ctgThree: [12, 33, 54, 8, 13, 12, 45], ctgFour: [1, 35, 5, 2], };

Cuando ejecuto el siguiente script, aparece un error para el segundo console.log(count); por razones obvias porque in count = categoryList[categoryName].length; Se requiere que "categoryName" sea una cadena. Sin embargo, si convierto las categorías en mi objeto de categories en cadenas, console.log(keys); me da la longitud de la cadena en lugar del número de claves en el objeto.

 let categoryNumber = 1; let categoryName = categories[categoryNumber]; let keys = Object.keys(categoryName).length; console.log(keys); count = categoryList[categoryName].length; console.log(count);

¿Cuál sería el mejor enfoque para resolver este dilema? Quiero contar la cantidad de claves en el objeto, así como los números en la lista de categoryList .

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

No obtiene nombres de variables como cadenas. En el mejor de los casos, podrá hacerlo al revés, pero en realidad nunca debería preocuparse por los nombres de las variables como datos. Puede (y debe) alinear esas 4 variables const en su objeto de categories .

Para obtener el valor respectivo del otro objeto, use las mismas claves tanto en las categories como en la lista de categoryList . Es decir, ya sea

 const categories = { ctgOne: { test1: …, test2: …}, ctgTwo: { test1: …, test2: …, test3: …}, ctgThree: { test1: …, test3: …}, ctgFour: { test2: …, test3: …}, }; const categoryList = { ctgOne: [1, 3, 5, 8, 13], ctgTwo: [23, 4, 78], ctgThree: [12, 33, 54, 8, 13, 12, 45], ctgFour: [1, 35, 5, 2], };

o

 const categories = { 1: { test1: …, test2: …}, 2: { test1: …, test2: …, test3: …}, 3: { test1: …, test3: …}, 4: { test2: …, test3: …}, }; const categoryList = { 1: [1, 3, 5, 8, 13], 2: [23, 4, 78], 3: [12, 33, 54, 8, 13, 12, 45], 4: [1, 35, 5, 2], };

pero no una mezcla de ellos. Si realmente los necesita a ambos, no se saldrá con la suya sin una tabla de mapeo separada.

about 4 years ago · Juan Pablo Isaza Denunciar

0

En su objeto, ¿por qué no almacena el nombre del objeto, que es una cadena?

En su lista de categorías, use el nombre, en lugar de los objetos, como claves.

Por ejemplo,

 const ctgOne = { name: "Category 1", test1: ..., test2: ... } const ctgTwo = { name: "Category 2", test1: ..., test2: ... } const categoryList = { "Category 1": [1, 3, 5, 8, 13], "Category 2": [23, 4, 78], }

Entonces puedes hacer

 let categoryNumber = 1; let category = categories[category]; let categoryName = category.name; let keys = Object.keys(category).length; console.log(keys); count = categoryList[categoryName].length; console.log(count);
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