Eine Funktion, die die ersten drei Buchstaben jedes Wortes im angegebenen Array groß schreibt.
P粉899950720
2023-07-29 10:09:17
<p>Ich habe eine Funktion geschrieben, die ein Wort nimmt und die ersten drei Buchstaben groß schreibt. Jetzt muss ich dieselbe Funktion für ein Array von Wörtern ausführen, um die ersten drei Buchstaben jedes Wortes in Großbuchstaben zurückzugeben. Ich sehe viele Leute fragen, wie man den ersten Buchstaben jedes Wortes in einem Satz großschreibt, aber das ist nicht dasselbe. Ich muss eine Funktion verwenden, die ich bereits geschrieben habe, damit die Ausgabe beim Drucken mit console.log so aussieht: </p>
<pre class="brush:php;toolbar:false;">console.log(applyAll(['str1', 'str2', 'str3', 'str4'], captializeThreeLetters));</pre>
<p>Ich habe versucht, dies mit einer for-Schleife zu erreichen, aber sie gab das Ergebnis aller verketteten Wörter zurück. Bei meinen Recherchen habe ich gesehen, dass man die Methode forEach() verwenden kann, um eine Funktion auf Array-Elementen auszuführen, aber ich weiß nicht, wie man sie anwendet. </p>
<pre class="brush:php;toolbar:false;">//Funktion, die str aufnimmt, gibt es mit drei Anfangsbuchstaben in Großbuchstaben zurück
Funktion CapitalizeThreeLetters(str){
let capFirst = str[0].toUpperCase();
let capSecond = str[1].toUpperCase();
let capThird = str[2].toUpperCase();
let splitStr = str.slice(3);
let WholeStr = capFirst + capSecond + capThird + splitStr;
return WholeStr;
}
console.log(capitalizeThreeLetters('testing')); // =>
console.log(capitalizeThreeLetters('again')); // =>
//Funktion, die ein String-Array aufnimmt und die Funktion „capitalizeThreeLetters“ auf jedes Array-Element anwendet, sodass jedes Wort mit den ersten drei Buchstaben in Großbuchstaben zurückgegeben wird
Funktion applyAll(arr){
for (let i = 0; i < arr.length; i++){
return CapitalizeThreeLetters(arr);
}
}
console.log(applyAll(['mai', 'brian', 'jeho', 'han'], captializeThreeLetters));
// => gibt 'MAIBRIANJEHOhan' zurück
// => sollte ['MAI', 'BRIan', 'JEHo', 'HAN']</pre>
<p><br /></p>
你的applyAll函数并不按你想要的方式工作。当你返回时,函数立即退出。在这种情况下,你在循环内部返回,阻止了循环继续执行和运行其他两次迭代。
你的第二个问题是,你将整个数组传递给了capitalizeThreeLetters,而不是一个单词。你可能想要使用capitalizeThreeLetters(arr[i])。现在,你传递了整个数组,导致数组中的前三个单词被大写,而不是每个单词的前三个字母。
你可以使用map方法来修复它:
在数组上使用map函数将会对数组的每个元素调用一个函数,然后返回一个包含结果的新数组。