Une fonction qui met en majuscule les trois premières lettres de chaque mot dans le tableau donné.
P粉899950720
P粉899950720 2023-07-29 10:09:17
0
1
514
<p>J'ai écrit une fonction qui prend un mot et met en majuscule les trois premières lettres. Maintenant, je dois exécuter la même fonction sur un tableau de mots pour renvoyer les trois premières lettres de chaque mot en majuscules. Je vois beaucoup de gens demander comment mettre en majuscule la première lettre de chaque mot dans une phrase, mais ce n'est pas la même chose. Je dois utiliser une fonction que j'ai déjà écrite pour que lorsque je l'imprime à l'aide de console.log, sa sortie ressemble à ceci : </p> <pre class="brush:php;toolbar:false;">console.log(applyAll(['str1', 'str2', 'str3', 'str4'], capitalizeThreeLetters));</pre> <p>J'ai essayé d'utiliser une boucle for pour y parvenir, mais elle a renvoyé le résultat de tous les mots concaténés. Dans mes recherches, j'ai vu que vous pouvez utiliser la méthode forEach() pour exécuter une fonction sur des éléments du tableau, mais je n'arrive pas à comprendre comment l'appliquer. </p> <pre class="brush:php;toolbar:false;">//La fonction qui prend str le renvoie avec trois premières lettres en majuscule fonction majusculeThreeLetters(str){ laissez capFirst = str[0].toUpperCase(); laissez capSecond = str[1].toUpperCase(); laissez capThird = str[2].toUpperCase(); laissez splitStr = str.slice(3); soit WholeStr = capFirst + capSecond + capThird + splitStr ; retourner WholeStre; } console.log(capitalizeThreeLetters('testing')); // => renvoie 'TESting' console.log(capitalizeThreeLetters('again')); // => renvoie 'AGAin' //Fonction qui prend un tableau de chaînes et applique la fonction capitalizeThreeLetters à chaque élément du tableau afin que chaque mot soit renvoyé avec les trois premières lettres en majuscules fonction appliquerTout(arr){ pour (soit i = 0; i < arr.length; i++){ return capitalizeThreeLetters(arr); } } console.log(applyAll(['mai', 'brian', 'jeho', 'han'], capitalizeThreeLetters)); // => renvoie 'MAIBRIANJEHOhan' // => devrait renvoyer ['MAI', 'BRIan', 'JEHo', 'HAN']</pre> <p><br /></p>
P粉899950720
P粉899950720

répondre à tous(1)
P粉331849987

Votre fonction applyAll ne fonctionne pas comme vous le souhaitez. À votre retour, la fonction se termine immédiatement. Dans ce cas, vous revenez à l'intérieur de la boucle, empêchant la boucle de continuer et d'exécuter les deux autres itérations.

Votre deuxième problème est que vous transmettez l'intégralité du tableau pour capitalizeThreeLetters, pas un seul mot. Vous souhaiterez peut-être utiliser capitalizeThreeLetters(arr[i]). Maintenant, vous transmettez l'intégralité du tableau, ce qui entraîne la mise en majuscule des trois premiers mots du tableau, plutôt que des trois premières lettres de chaque mot.

Vous pouvez utiliser la méthode map pour résoudre ce problème :

function applyAll(arr){
  return arr.map(capitalizeThreeLetters);
}

L'utilisation de la fonction map sur un tableau appellera une fonction sur chaque élément du tableau et renverra un nouveau tableau contenant les résultats.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal