let start = new Date().getTime();
let arr = Array(10000000).fill().map((_, i) => i);
let sum = 0;
for(let i=0; i<arr.length; i++) {
sum += arr[i];
}
let end = new Date().getTime();
console.log(end - start);
// 1806
let start = new Date().getTime();
let arr = Array(10000000).fill().map((_, i) => i);
let sum = 0;
for(let i=0, j=arr.length; i<j; i++) {
sum += arr[i];
}
let end = new Date().getTime();
console.log(end - start);
// 1066
let start = new Date().getTime();
let arr = Array(10000000).fill().map((_, i) => i);
let sum = 0;
for(let val of arr) {
sum += val;
}
let end = new Date().getTime();
console.log(end - start);
// 1317
let start = new Date().getTime();
let arr = Array(10000000).fill().map((_, i) => i);
let sum = 0;
for(let idx in arr) {
sum += arr[idx];
}
let end = new Date().getTime();
console.log(end - start);
// 7826
let start = new Date().getTime();
let arr = Array(10000000).fill().map((_, i) => i);
let sum = 0;
arr.forEach(e => sum += e);
let end = new Date().getTime();
console.log(end - start);
// 1138
optimized for loop > for - of = forEach > for > for - in
for - in의 속도가 상당히 느리므로 사용을 지양하는 것이 좋을 것 같습니다.
optimized for loop
가 성능은 가장 우수하나 forEach
는 코드를 간략히 사용할 수 있으므로 특별한 상황이 아니라면 forEach
를 사용하는게 가장 좋은 선택이 될 것 같습니다.