配列要素がこのJavaScriptコードで上書きされないのはなぜですか?
1つ以上の単語の文字列を受け取り、同じ文字列を返しますが、5つ以上の文字の単語をすべて逆にする関数を作成します。渡される文字列は、文字とスペースのみで構成されます。スペースは、複数の単語が存在する場合にのみ含まれます。
すると、私はこのソリューションを作ってみた:最初
function spinWords(input) {
if (input.length < 5) {
return input;
}
let arrayOfWords = input.split(' ');
for (var i = 0; i < arrayOfWords.length; i++) {
let word = arrayOfWords[i];
if (word.length >= 5) {
arrayOfWords[i] = word.split('').reverse().join('');
}
}
return arrayOfWords.join(' ');
}
、私は(動作しませんでした)、forループ、このようにif文の本体を書いた:
前者が正しく機能する理由は混乱していますが、後者は正しくありません。どんな説明も大いに評価されます。