101 votes

Obtenir la première lettre de chaque mot dans une chaîne de caractères, en JavaScript

Comment procéder pour rassembler la première lettre de chaque mot d'une chaîne, comme pour obtenir une abréviation ?

Entrée : "Java Script Object Notation"

Sortie : "JSON"

1voto

Second Rikudo Points 59550

Que dites-vous de ça ?

var str = "", abbr = "";
str = "Java Script Object Notation";
str = str.split(' ');
for (i = 0; i < str.length; i++) {
    abbr += str[i].substr(0,1);
}
alert(abbr);

Exemple de travail.

1voto

user3818229 Points 620

ES6 réduire la manière :

const initials = inputStr.split(' ').reduce((result, currentWord) => 
    result + currentWord.charAt(0).toUpperCase(), '');
alert(initials);

1voto

James Points 11054

Si vous êtes venu ici à la recherche d'une méthode permettant de prendre en charge les caractères non-BMP qui utilisent des paires de substitution :

initials = str.split(' ')
              .map(s => String.fromCodePoint(s.codePointAt(0) || '').toUpperCase())
              .join('');

Fonctionne dans tous les navigateurs modernes sans polyfills (pas dans IE cependant).

0voto

JesseBuesking Points 2817

Cela devrait le faire.

var s = "Java Script Object Notation",
    a = s.split(' '),
    l = a.length,
    i = 0,
    n = "";

for (; i < l; ++i)
{
    n += a[i].charAt(0);
}

console.log(n);

0voto

SondreB Points 83

Les versions d'expressions régulières pour JavaScript ne sont pas compatibles avec Unicode sur les versions antérieures à ECMAScript 6, donc pour ceux qui veulent prendre en charge des caractères tels que "å", ils devront s'appuyer sur des versions de scripts non-regex.

Événement lorsque sur la version 6, vous devez indiquer Unicode avec \u.

Plus de détails : https://mathiasbynens.be/notes/es6-unicode-regex

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X