In meinem folgenden Code, wenn ich nicht setzen (var i = 0 ...) in der for-Schleife habe ich eine Endlosschleife.nicht setzen (var i = 0) verursacht Endlosschleife
function steamrollArray(arr) {
var newArr = [];
for (i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
newArr = newArr.concat(steamrollArray(arr[i]));
} else {
newArr.push(arr[i]);
}
}
return newArr;
}
steamrollArray([1, [], [3, [[4]]]]);
Kann mir bitte jemand erklären warum?
Simillar [** Problem **] zu vermeiden (https://stackoverflow.com/questions/44731704/javascript-for-loop -fori-0-i-3-i-terminiert-zu-früh-ohne-Verwendung). In diesem Fall endet die Schleife eher vorzeitig als Schleife unendlich (aber beide Probleme sind gleich). –
globale Variablen ftw! Definieren Sie immer Ihre Variablen. – epascarello
danke allen für die schnellen Antworten. Ich werde dann immer meine Variablen deklarieren. –