Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

304
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda