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

324
Visualizações
(Javascript) Poner cada segunda palabra en una oración en mayúscula

Como dice el título, necesito hacer una función que haga que cada segunda palabra en una oración esté en mayúscula, pero no toque otras palabras. Tengo esta función: (La primera si es en un caso solo hay una palabra)

Y hace su trabajo, sin embargo, con una oración como esta "ESTA ES UNA ORACIÓN" devuelve "ESTA ES UNA ORACIÓN", mientras que necesito "ESTA ES UNA ORACIÓN".

 function largeLetters(sentence) { return sentence.map((v, i) => i % 2 == 0 ? v.toLowerCase() : v.toUpperCase()).join(' '); } function sentenceToUpperCase(sentence) { sentence = sentence.split(' '); if (sentence.length == 1) { sentence = sentence.toString().toUpperCase(); return sentence; } else { return largeLetters(sentence) }; }; console.log(sentenceToUpperCase("ThIs iS A seNteNCe"))

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

0

He simplificado un poco tu programa.

El problema estaba en esta parte:

i % 2 == 0 ? word.toLowerCase() : word.toUpperCase()

no necesita cambiar todas las demás palabras a minúsculas, simplemente déjelo como está:

i % 2 == 0 ? word : word.toUpperCase()

 function sentenceToUpperCase(sentence) { return sentence .split(' ') .map((word, i) => i % 2 == 0 ? word : word.toUpperCase()) .join(' '); }; console.log(sentenceToUpperCase("ThIs")) console.log(sentenceToUpperCase("ThIs iS")) console.log(sentenceToUpperCase("ThIs iS A")) console.log(sentenceToUpperCase("ThIs iS A seNteNCe"))

about 4 years ago · Juan Pablo Isaza Relatório

0

Cuando tu dices

eso pondría cada segunda palabra en una oración en mayúscula

Si quiere decir 'valor par', use el value % 2 === 0 ; de lo contrario, simplemente cambie el segundo valor de su matriz.

Actualizar incluso palabras:

 function sentenceToUpperCase(sentence) { const words = sentence.split(' '); if(words.length >= 2) { return words.map((v,i) => i % 2 === 0 ? v : v.toUpperCase()).join(' '); } else { return sentence.toUpperCase(); } }

Actualizar solo la segunda palabra:

 function sentenceToUpperCase(sentence) { const words = sentence.split(' '); if(words.length >= 2) { words[1] = words[1].toUpperCase(); } else { return sentence.toUpperCase(); } return words.join(' '); }

Puedes 'minificarlo' usando un ternario y un mapa

 function sentenceToUpperCaseMinify(sentence) { const words = sentence.split(' '); return words.length >= 2 ? words.map((v, i) => i === 1 ? v.toUpperCase() : v).join(' ') : sentence.toUpperCase(); }
about 4 years ago · Juan Pablo Isaza Relatório

0

Buena pregunta y en JS tienes muchas formas de hacerlo. Las funciones que he usado son: minúsculas, dividir, mayúsculas, unir. Envolví en una función.

 const str = "this IS a SENTENCE" function build(str) { const s = str.split(' '); // or use (str.toLowerCase()).split(' ') if every odd word have to be lowercase let r = []; let i = 0; s.forEach((e) => { if (i % 2 === 0) { r.push(e) } else { r.push(e.toUpperCase()) } i++; }) return r.join(' '); } console.log('new Sentense: ', build(str) );

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