Javascript Capitalizar Primeira Letra

| | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Existem muitos desafios de código para iniciantes que ajudarão você a começar a pensar mais como um engenheiro. Um desses desafios é onde você capitaliza a primeira letra de cada palavra em uma determinada string. Neste artigo, veremos o prompt e várias soluções possíveis em JavaScript.

Dada uma função, capitalize, que inclui str como parâmetro, retorne esse str com cada palavra em maiúscula. Tente pensar em casos de pico em sua solução (não como entrada, tipo errado de entrada, etc.).

Abordagem

  1. Dê uma olhada novamente no prompt. Anote ou destaque as palavras-chave que encontrar no texto.
  2. Combine o significado da palavra problema. Parte da parte mais difícil de fazer desafios de código é tentar descobrir o que o problema está pedindo para você fazer. Compreender o problema irá ajudá-lo a percorrer um longo caminho para resolvê-lo.
  3. uma possível solução de pseudocódigo. Não precisa ser o código real (não precisa ser executável em seu IDE ou navegador de console - inglês simples é bom):

Resolva o problema passo a passo cuidadosamente. Isso o ajudará a pensar em casos de dicas - casos em que uma entrada incorreta ou uma string vazia pode ser passada - e como dividir o problema em etapas lógicas. Esta é basicamente sua fase de experimentação - não há respostas erradas, apenas pensamentos de como abordar o problema. Esses pensamentos podem ser enganosos ou mal orientados - é assim que você aprende sobre abordagens vencidas para resolver um problema

Descobri que, se eu puder decompô-lo explicando em voz alta, a lógica é mais fácil. Sua milhagem pode variar dependendo da sua abordagem, mas eu queria pelo menos sugerir caso funcione para você! O apelido para um pequeno problema como esse parece um pouco exagerado, mas se você praticar o conceito agora, será mais fácil para você trabalhar em problemas muito mais difíceis.

As soluções

Solução # 1: split() e loop com os métodos String.replace() e charAt()

leave = capitalize (str) => {= stop leave str.split (``); for (ou i = 0; i

Nesta primeira solução, dividimos a string em seus espaços. Isso nos dá um arr cada palavra única como seu índice. O loop no array nos dá a possibilidade de acessar os índices pessoais de cada string. Reatribuimos a string (a string neste caso é arr [i]) para o índice i como resultado da substituição da string no índice 0 (arr [i] .charAt (0) por seu valor em maiúsculas. Arr em uma string com espaços entre cada uma das palavras

Solução # 2: dividir com o método map e slice

Nesta solução começamos de maneira muito semelhante, mas usamos um método de array ES6 chamado loop card pela rede e o retorno de novos valores ‚Äã‚Äãque capitalizam o primeiro caractere de cada palavra. Ele faz isso definindo explicitamente o que faremos com o toUpperCase() para a primeira letra, o slice() para o restante da string e as strings concatenar para obter a nova versão da palavra. Em seguida, mesclamos o array e o retornamos

div>

Solução n ¬∞ 3: expressões regulares

permitir alavancagem = (str) => {let regex = / (^ | s) S / g return str.replace (regex, letra => letra.toUpperCase()); } Leave root = document.getElementById (`root`); root.innerHTML = JSON.stringify (capitalize (raposa marrom rápida pulou no cachorro preguiçoso ‚Äã‚Äã`));

Nesta solução, usamos uma expressão regular para encontrar todos os caracteres não brancos (S) no início da string (^ ) ou após um caractere de espaço (s). O indicador g no final significa global e permite encontrar todas as instâncias deste modelo. Em seguida, usamos o método replace para substituir esse padrão regex por uma função que recebe essa letra e a retorna em maiúscula.

pensamentos finais

Essas soluções não são de forma alguma as únicas soluções para esse problema.. Muito provavelmente, à medida que você começar a fazer mais desses, você encontrará soluções que podem ou não ser diferentes daquelas apresentadas por um artigo ou blog. Isto é uma coisa boa. Isso significa que você começa a pensar como um engenheiro - e esse é o ponto.

Continuar. Nessas soluções, os casos de pico não são abordados. O que você deve fazer se o assunto estiver vazio ou for um número? Tente adicionar ao código acima lidando com esses casos limítrofes

Dica :. Use um ponto/exclamação bang para encontrar condicionalmente se str existe. Confira os documentos do MDN para descobrir se há uma maneira de descobrir o tipo de algo quando você não sabe necessariamente o que é.

uma coisa : tente inverter as strings de desafio javascript se ainda não o fez

Outros recursos a serem considerados:

Usando expressões regulares em Ruby - Isso é dedicado a Ruby, mas a expressão regular geralmente é independente de idioma - rápido ` Procure mais sobre a sintaxe RegExp na Solução # 1. 3.

Texto de substituição de JavaScript: um guia passo a passo - Um tutorial dedicado ao método de substituição, usado na solução n. 1.