Nếu bạn không cần truy cập vào mảng của mình sau khi lặp, bạn có thể bảo lãnh bằng cách đặt độ dài của mảng thành 0. Nếu bạn vẫn cần nó sau khi lặp, bạn có thể sao chép nó bằng lát ..
[1,3,4,5,6,7,8,244,3,5,2].forEach(function (item, index, arr) {
if (index === 3) arr.length = 0;
});
Hoặc với một bản sao:
var x = [1,3,4,5,6,7,8,244,3,5,2];
x.slice().forEach(function (item, index, arr) {
if (index === 3) arr.length = 0;
});
Đó là một giải pháp tốt hơn nhiều sau đó ném các lỗi ngẫu nhiên trong mã của bạn.
return
thực sự tiếp tục lặp lại, nó sẽ bỏ qua bất kỳ mã nào đi sau nó trong khối. Lấy mã này làm ví dụ :[1,2,3].forEach(function(el) { if(el === 2) { console.log(`Match on 2!`); return; } console.log(el); });
.console.log(el);
Sẽ bị bỏ qua khi 2 được khớp.