Estou examinando os documentos de lodash e outras questões do Stack Overflow - embora existam várias maneiras nativas de JavaScript de realizar essa tarefa , há uma maneira de converter uma string para maiúsculas e minúsculas usando funções puramente lodash (ou pelo menos funções prototípicas existentes) para que eu não precise usar uma expressão regular ou definir uma nova função?
por exemplo
This string ShouLD be ALL in title CASe
Deve se tornar
This String Should Be All In Title Case
javascript
lodash
brandonscript
fonte
fonte
Respostas:
Isso pode ser feito com uma pequena modificação de
startCase
:Exibir trecho de código
fonte
_.startCase("aaa BBB ccc") === "Aaa BBB Ccc"
startCase
.:
, isso é um problema.Para texto não gerado pelo usuário, trata mais casos do que a resposta aceita
fonte
com lodash versão 4.
_.upperFirst(_.toLower(str))
fonte
startCase
porque pode lidar com mais letras do que az, por exemplo å, ä e ö.fonte
upperFirst
vez decapitalize
._.startCase
remove pontuação. O exemplo_.startCase('first second etc...
retorna a stringFirst Second Etc
startCase
converte tudo para um espaço em branco, por exemplo,user_name
seráUser Name
, e eu só queriaUser_name
como atext-transform: capitalize
propriedade de CSSExistem respostas mistas para esta pergunta. Alguns estão recomendando o uso,
_.upperFirst
enquanto outros recomendam_.startCase
.Saiba a diferença entre eles.
i)
_.upperFirst
irá transformar a primeira letra da sua string, então a string pode ser de uma única palavra ou várias palavras, mas a única primeira letra da sua string é transformada em maiúsculas._.upperFirst('jon doe')
resultado:
Jon doe
verifique a documentação https://lodash.com/docs/4.17.10#upperFirst
ii)
_.startCase
irá transformar a primeira letra de cada palavra dentro de sua string._.startCase('jon doe')
resultado:
Jon Doe
https://lodash.com/docs/4.17.10#startCase
fonte
_.lower()
.Esta é uma maneira de usar APENAS métodos lodash e nenhum método embutido:
fonte
Você também pode dividir a função do mapa para fazer palavras separadas
fonte
A menos que eu não tenha percebido, o lodash não tem seus próprios métodos de letras maiúsculas e minúsculas.
fonte
_.upperFirst
só se aplica ao primeiro caractere (um sinônimo de_.capitalize()
?)capitalize
eupperFirst
fazer coisas diferentes.Não tão conciso quanto a resposta de @ 4castle, mas descritivo e cheio de lodash, no entanto ...
fonte
Aqui está outra solução para meu caso de uso: "espinha dorsal do diabo"
Simplesmente:
Usar startCase removeria o apóstrofo, então eu tive que contornar essa limitação. As outras soluções pareciam bastante complicadas. Eu gosto disso porque é limpo, fácil de entender.
fonte
Isso pode ser feito apenas com lodash
fonte
var words = ._words
O código abaixo funcionará perfeitamente:
fonte
com o lodash 4, você pode usar _.capitalize ()
_.capitalize('JOHN')
Retorna 'John'Consulte https://lodash.com/docs/4.17.5#capitalize para obter detalhes
fonte