Je prends la chaîne d'entrée "ZpglnRxqenU"
et doit retourner une chaîne avec cette vue "Z-Pp-Ggg-Llll-Nnnnn-Rrrrrr-Xxxxxxx-Qqqqqqqq-Eeeeeeeee-Nnnnnnnnnn-Uuuuuuuuuuu"
j'ai presque fini, mais je ne sais pas pourquoi la première lettre des éléments du tableau ne passe pas en majuscule.
function accum(s) {
let str = s.toLowerCase();
let arr = [];
for(let i=0; i<str.length;i++){
arr.push(str[i].repeat(i+1));
arr[i][0].toUpperCase();
}
return arr.join('-');
}
console.log(accum("ZpglnRxqenU"));
// must be "Z-Pp-Ggg-Llll-Nnnnn-Rrrrrr-Xxxxxxx-Qqqqqqqq-Eeeeeeeee-Nnnnnnnnnn-Uuuuuuuuuuu"
Les chaînes en Javascript sont immuables , donc cela doit être le arr[i] = arr[i][0].toUpperCase() + arr[i].slice(1)
cas si vous voulez les convertir.
toUpperCase()
ne renvoie que le(s) caractère(s), il ne manipulera pas la chaîne sur laquelle il a été appelé.
La même chose est vraie pour toute autre méthode sur String.prototype
comme par exemple String.replace()
.
Pour que ce soit encore plus clair : la seule façon en Javascript de modifier une variable contenant une chaîne est d' attribuer une nouvelle valeur à la variable.
function accum(s) {
let str = s.toLowerCase();
let arr = [];
for(let i=0; i<str.length; i++){
arr.push(str[i].repeat(i+1));
arr[i] = arr[i][0].toUpperCase() + arr[i].slice(1);
}
return arr.join('-');
}
console.log(accum("ZpglnRxqenU"));
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots