Ich werde gebeten, das folgende Problem zu lösen:Warum wird Array-Element nicht mit diesem JavaScript-Code überschrieben?
Schreiben Sie eine Funktion, die eine Zeichenfolge aus einem oder mehreren Wörtern übernimmt und die gleiche Zeichenfolge zurückgibt, aber mit allen fünf oder mehr Buchstaben Wörter umgekehrt. Strings werden nur aus Buchstaben und Leerzeichen bestehen. Leerzeichen werden nur enthalten, wenn mehr als ein Wort vorhanden ist.
Ich habe mit dieser Lösung kommen:
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(' ');
}
Anfangs hatte ich den Körper der if-Anweisung in der for-Schleife diese Weise geschrieben (was nicht funktioniert):
word = word.split('').reverse().join('')
Ich bin verwirrt, warum ersteres richtig funktioniert, aber letzteres nicht. Jede Klärung wäre sehr willkommen.