Với mã nàyTại sao lặp qua một mảng ngược nhanh hơn sau đó chuyển tiếp
var arr = [];
for (var i = 0; i < 10000; ++i) {
arr.push(1);
}
Tiền đạo
for (var i = 0; i < arr.length; ++i) {;
}
ngược
for (var i = arr.length - 1; i >= 0; --i) {;
}
cứng Coded F orward
for (var i = 0; i < 10000; ++i) {;
}
tại sao backwords nên nhanh hơn nhiều?
Đây là thử nghiệm http://jsperf.com/array-iteration-direction
Lưu ý rằng trường hợp ngược của bạn phải bắt đầu tại 'arr.length-1' và có' i> = 0' thay vì 'i> 0'. – nnnnnn
Tiêu đề gây hiểu lầm. Nó không còn là trường hợp trực tiếp sử dụng arr.length * là * chậm hơn trong các trình duyệt nâng cao. – user2864740
có thể trùng lặp với [Hiệu suất vòng lặp JavaScript - Tại sao phải giảm trình vòng lặp về hướng 0 nhanh hơn gia tăng] (http://stackoverflow.com/q/3520688/1048572) – Bergi