Рубрики
Без рубрики

LOOP LOOP JavaScript / Ecmascript (вкл. Для / for / while / foreach / map)

FOREACH () JavaScript (), карта (), уменьшение () довольно удобно для итерации набора данных, но вы не можете знать, что у них есть проблема с производительностью при заключении с большими объемами данных, и есть лучшие способы сделать это.

Автор оригинала: Neo TAN.

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));