Capitaliser la première lettre de chaque mot en JS
Je suis en train d'apprendre comment mettre en majuscule la première lettre de chaque mot dans une chaîne de caractères et pour cette solution, je comprends tout, sauf de la parole.substr(1) de la partie. Je vois que c'est l'ajout de la chaîne brisée, mais comment la (1)?
function toUpper(str) {
return str
.toLowerCase()
.split(' ')
.map(function(word) {
return word[0].toUpperCase() + word.substr(1);
})
.join(' ');
}
console.log(toUpper("hello friend"))
Peut-être son temps pour accepter l'une de ces réponses?
OriginalL'auteur RomeP | 2017-03-13
Vous devez vous connecter pour publier un commentaire.
Ou vous pouvez épargner beaucoup de temps et d'utilisation Lodash
Regarder
https://lodash.com/docs/4.17.4#startCase -ajouté/modifié-
https://lodash.com/docs/4.17.4#capitalize
Ex.
-ajouté/modifié-
Vous pouvez à utiliser startCase, une autre fonction pour capitaliser la première lettre de chaque mot.
et capitaliser pour seulement la première lettre de la phrase
Lodash est une belle bibliothèque js faite pour vous faire gagner beaucoup de temps.
Vous y trouverez beaucoup de temps de veille fonctions de chaînes de caractères, nombres, tableaux, collections, etc.
Vous pouvez aussi l'utiliser sur le client ou le serveur (nodejs), d'utiliser des bower ou un nœud, cdn ou l'inclure manuellement.
_.capitalize('first second') // => 'First second'
, et la question déclare qu'il veut que chaque mot avec une majuscule. si vous remplacez uniquement la première lettre, vous devez mentionner que ce n'est pas une solution complèteC'est la beauté de lodash, alors vous pouvez utiliser l' _.startCase('foo bar'); // Foo Bar, ou pour les différents résultats que vous avez d'autres fonction comme un exemple _.toUpper ("fooBar"); / / FOOBAR
OriginalL'auteur moplin
Voici un petit extrait de code. Cet extrait de code va vous permettre de mettre en majuscule la première lettre d'une chaîne à l'aide de JavaScript.
OriginalL'auteur Mohammad Jamal Dashtaki
OriginalL'auteur Roger
substr
est une fonction qui retourne (à partir de la liés MDN) une nouvelle chaîne de caractères contenant l'extrait de la section de la chaîne (à partir de la deuxième de caractère dans votre fonction). Il y a un commentaire sur le polyfill mise en œuvre, ce qui ajoute Obtenir la sous-chaîne d'une chaîne.substr
estsubstring
” est incorrecte. Vouliez-vous dire “substr
est une sous-chaîne”?OriginalL'auteur Elliott Frisch
OriginalL'auteur Eye Sun
Dans
word.substr(i)
, les param de sorte que l'indice de la parole. Cette méthode coupe la parole à partir de la lettre dont l'index est égal ài
à la fin du mot.Vous pouvez également ajouter un autre param comme
word.substr(i, len)
, oùlen
signifie que la longueur de la caractère de la segmentation. Par exemple:'abcde'.substr(1, 2)
→bc
.OriginalL'auteur Zhen.Liu
Envisager une flèche fonctionner avec un rendement implicite:
Cela fera en une seule ligne.
OriginalL'auteur marvindanig
OriginalL'auteur James Shourov
Seulement par le biais de la carte si un tableau d'ensemble de la première lettre en majuscule et enchaîner avec d'autres lettres à partir de l'index 1.
Le tableau n'est pas votre cas ici.
}
OriginalL'auteur Mike Jonah II
trim()
pour supprimer l'espace de l'attaque et de fuite des extrémitésremplacer tous les espaces supplémentaires dans le milieu avec une
RegExp
normaliser et le convertir en tous les
toLowerCase()
lettresconvertir la chaîne en un tableau
split
sur des espacescarte de ce tableau dans un tableau de mots capitalisés
join(' ')
le tableau avec les espaces et retourner le nouvellement capitalisés chaîneOriginalL'auteur existenzial