// 콜백함수와 초기값을 인자로 받는다
// 리턴 결과를 다음 루프에 가져갈 수 있다
const result = [1,2,3].reduce((acc) => {
return acc;
},0);
console.log(result); // 0;
// 배열의 모든 요소 합을 구하는 예제
// 초기값을 0으로 두고 acc 에 계속 더해가면서 루프가 끝나면 acc를 리턴한다
const result = [1,2,3].reduce((acc,current_value) => {
return acc + current_value;
},0);
console.log(result); // 6;
for of-
반복문 별 속도 테스트
// 공배열을 만들고 각 루프의 diff time 체크
const number = 3000000000;
const array = new Array(number).fill();
console.log(number+'건 TEST');
const for_date = new Date();
for(let index=0; index<array.length; index++){}
console.log('for speed : ',new Date()-for_date);
const map_date = new Date();
array.map(() => {});
console.log('map speed : ',new Date()-map_date);
const each_date = new Date();
array.forEach(() => {});
console.log('each date : ',new Date()-each_date);
const while_date = new Date();
let index=0;
while(index<array.length){
index++;
}
console.log('while date : ',new Date()-while_date);
300000 건 TEST (30만건)
for speed : 7
map speed : 19
each date : 9
while date : 5
30000000 건 TEST (3억건)
for speed : 34
map speed : 1427
each date : 657
while date : 3