FOREACH () JavaScript (), карта (), уменьшение () довольно удобно для итерации набора данных, но вы не можете знать, что у них есть проблема с производительностью при заключении с большими объемами данных, и есть лучшие способы сделать это.
https://jsben.ch/EAlKw
Результат
Коды
Выполнить перед каждым тестом
var arr = Array(1000000).fill(null); var dosmth;
для – неисследованная длина
for (let i = 0; i < arr.length; i++) { dosmth = arr[i]; }
для – кэшированная длина
for (let i = 0; i < arr.length; i++) { dosmth = arr[i]; }
для .. из
for (let val of arr) { dosmth = val; }
в то время как – неисследованная длина
let i = 0; while(i < arr.length){ dosmth = arr[i]; ++i; }
в то время как – кэшированная длина
let i = 0; const len = arr.length; while(i < len){ dosmth = arr[i]; ++i; }
для каждого
arr.forEach(el=>(dosmth = el));
карта
arr.map(el=>(dosmth = el));