私はこれを解決しようとしている方法ではない多くの解決策を見てきました。-文字列をスペースで分割し、すべての単語を可変単語に格納しようとしています。forループを使用して、すべての単語のアルファベットをカウントし、各単語をalphabetsInWordに1つずつ格納し、それぞれの長さを配列にプッシュしました。ループが完了した後、各単語の長さはarrayと呼ばれる配列に格納されます。配列の値は数値なので、配列にMath.maxを適用して、logestWordの値を見つけたいのですが、値が返されません。確認するためにconsole.logステートメントがありますが、必須ではありません。誰かがそれを機能させる方法を教えてもらえますか?このように機能するかどうかを確認するのも興味深いと思います。
function findLongestWord(str) {
var word = str.split(" ");
var array=[];
console.log(word);
for(i=0; i <= word.length; i++){
var alphabetsInWord = word[i];
array.push(alphabetsInWord.length);
console.log(array);
//console.log(Math.max(array));
}
var longestWord = Math.max(array);
return longesWord;
console.log(longestWord);
}
findLongestWord("The quick brown fox jumped over the lazy dog");
for
ループを繰り返してはならないword.length
アレイは0ベースのインデックスを持っているように、代替<
のため<=
に反復しますword.length - 1
。使用.apply()
してMath.max()
配列を持つパラメータとして渡されることを期待しないMath
ようにセットthis
。ステートメントのconsole.log()
後に実行されませんreturn
。
function findLongestWord(str) {
var word = str.split(" ");
var array = [];
for (var i = 0; i < word.length; i++) {
var alphabetsInWord = word[i];
array.push(alphabetsInWord.length);
}
var longestWord = Math.max.apply(Math, array);
return longestWord;
}
console.log(findLongestWord("The quick brown fox jumped over the lazy dog"));
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加