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

147
Vistas
Me estoy poniendo "indefinido" al agregar caracteres en mi matriz en javascript

Aquí está mi código, ¿alguien puede explicar por qué me estoy volviendo indefinido? Dividí las palabras y luego las invertí y después de invertir intenté almacenarlas en una matriz diferente. Gracias

 const text = document.querySelector("#text"); const reverseText = document.querySelector("#reverseText"); let words = text.innerHTML.split("").reverse(); console.log(words); let reversedWords = []; let counter = 0; for (var i = 0; i <= words.length - 1; i++) { if (words[i] != " ") { reversedWords[counter] += words[i]; } else { counter++; } } console.log(reversedWords);
 <p id="text">hello nixit</p> <p id="reverseText"></p>

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

0

Su problema es que la primera vez que intenta acceder a reversedWords[counter] , no está undefined porque ha inicializado reversedWords para que sea una matriz vacía.

Sin cambiar gran parte de su código (porque dijo que lo está haciendo de esta manera como un desafío ), podría intentar inicializar palabras reversedWords para tener la cantidad adecuada de elementos, inicializados en cadenas vacías

 const content = text.textContent; const words = content.split("").reverse(); const reversedWords = Array.from({ length: content.split(" ").length }, () => "");
about 4 years ago · Juan Pablo Isaza Denunciar

0

Está utilizando una matriz, por lo que necesita push cosas en ella y luego join en una nueva cadena una vez que finaliza la iteración.

 const text = document.querySelector('#text'); const reverseText = document.querySelector('#reverseText'); function reverse(str) { // `split` the string on the spaces const words = str.split(' '); const reversedWords = []; for (let i = 0; i < words.length; i++) { // For each word split, reverse, and then rejoin it const word = words[i].split('').reverse().join(''); // And then add the word to the array reversedWords.unshift(word); } // Return the completed array return reversedWords; } const str = text.textContent; reverseText.textContent = JSON.stringify(reverse(str));
 <p id="text">hello nixit</p> <p id="reverseText"></p>

Documentación adicional

  • unshift
about 4 years ago · Juan Pablo Isaza Denunciar

0

Sugiero usar una cadena en lugar de una matriz. Luego puede dividirlo para convertirlo en una matriz.

 const reversedChars = 'hello nixit'.split("").reverse() const reversedWords = '' reversedChars.forEach(char => { reversedWords += char }) const reversedWordsArray = reversedWords.split(' ') console.log(reversedWords) // Output: tixin olleh console.log(reversedWordsArray) // Output: [ 'tixin', 'olleh' ]
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