So im Lernen über die verschiedenen Array Iterieren Methoden und lief in etwas Merkwürdiges:Javascript für jedes Array Callback Timing?
[1,2,3].forEach(function(element,index,arr){
console.log(element,index);
console.log(arr);
arr.shift();
})
So würden Sie denken, diese produzieren würde:
1,0
[1,2,3]
2,1
[2,3]
3,2
[3]
aber Sie diese:
1 0
[1, 2, 3]
3 1
[2, 3]
Im Drucken von 3 trotz haben nur am Ende verschoben? Liegt das daran, dass der arr-Callback am Anfang des nächsten Elements oder so passiert? Da sollte es shift() auf dem Array AFTER tun? Ich weiß, dass dies ein "schlechter Fall" ist, wenn ich diese Methode benutze, ich bin nur neugierig, warum das passiert.
Das Ändern der Länge des Arrays während der Iteration wird nicht empfohlen ... – nnnnnn