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

358
Visualizações
¿Cómo resuelvo este problema de mayúsculas y minúsculas de JavaScript con una cadena vacía?

Soy nuevo en JavaScript y tengo algunos problemas con este problema:

Construya una función llamada titleCase que tome una cadena de oraciones y le dé mayúsculas y minúsculas.

 titleCase("this is an example") // Should return "This Is An Example" titleCase("test") // Should return "Test" titleCase("ir cool") // Should return "IR Cool" titleCase("WHAT HAPPENS HERE") // Should return "What Happens Here" titleCase("") // Should return "" titleCase("A") // Should return "A"

Este es el código que he probado:

 const titleCase = function(text) { text = text.split(' '); for (let i = 0; i < text.length; i++) { text[i] = text[i].toLowerCase().split(''); text[i][0] = text[i][0].toUpperCase(); text[i] = text[i].join(''); } if (text === "") { return "" } return text.join(' '); }

Está pasando todas las pruebas excepto la prueba de cadena vacía "" .

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Tendrás que moverte:

 if (text === "") { return "" }

a la primera línea de la función.

Aquí hay una solución sencilla:

 function titleCase(s){ let r=""; for (let i=0; i<s.length; i++) r+=(i==0 || s[i-1]==" ")?s[i].toUpperCase():s[i].toLowerCase(); return r; } console.log(titleCase("helLo tHERE!")); console.log(titleCase("this is an example")); //should return "This Is An Example" console.log(titleCase("test")); //should return "Test" console.log(titleCase("ir cool")); //should return "IR Cool" console.log(titleCase("WHAT HAPPENS HERE")); //should return "What Happens Here" console.log(titleCase("")); //should return "" console.log(titleCase("A")); //should return "A"

about 4 years ago · Juan Pablo Isaza Relatório

0

Solo tiene que declarar el texto vacío como predeterminado en la función y agregar la condición if (text === "") { antes del ciclo for . Entonces, si el texto está vacío, antes de ejecutar el bucle for , devolverá "". Por favor revise el siguiente fragmento:

 const titleCase = function(text = '') { if (text === "") { return "" } text = text.split(' '); for (let i = 0; i < text.length; i++) { text[i] = text[i].toLowerCase().split(''); text[i][0] = text[i][0].toUpperCase(); text[i] = text[i].join(''); } return text.join(' '); } console.log(titleCase()); console.log(titleCase("Hello")); console.log(titleCase("Hello World"));

about 4 years ago · Juan Pablo Isaza Relatório

0

No puede modificar un carácter con la notación [] .

Para reemplazar el primer carácter de una cadena, no haga

 str[0] = str[0].toUppercase()

pero

 str = "X" + str.substr(1)

Su función puede ser:

 function titleCase(str) { return str.toLowerCase().replace(/(^|\s)[az]/g, (a)=>a.toUpperCase()); }

Esta función:

  • convertir todo a minúsculas
  • luego use una expresión regular para reemplazar letras ( [az] ) después de un espacio ( \s ) o el comienzo de la cadena ( ^ ) con su versión en mayúsculas.
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