알고리즘을 풀다가 대충 안 reduce때문에 런타임 에러가 떴다
const array = [1,2,3,4];
const initValue = 0;
const sum = arrray.reduce((previousValue,currentValue)=>previousValue+currentValue),initValue);
console.log(sum);
// 10
[1,2,3].reduce((acc,cur)=>acc+cur);
// 6으로 잘 작동함
[1,2,3].reduce((acc,cur)=>acc+cur);
// 1
[1].reduce((acc,cur)=>0);
// 1
[].reduce((acc,cur)=>acc+cur);
// 빈배열일경우 empty array라는 에러가 뜸.
[].reduce((acc,cur)=>acc+cur,0);
// 초기값 0을 준다면 빈 배열과 상관없이 0이 나온다.
[1].reduce((acc,cur)=>acc+cur,0);
//1
배열이 비어있을때 경우를 생각하지 못해서 에러를 뱉은것이었다!
따라서 초기값0을 준다면 배열과 상관없이 0을 리턴시켜주므로
런타임에러가 생기지 않는것이었다!
재밌당 크크
'Frontend > JavaScript' 카테고리의 다른 글
padStart(); (2) | 2022.04.05 |
---|---|
String.prototype.repeat() (0) | 2022.04.05 |
Math.abs() (0) | 2022.03.29 |
.localeCompare() | .sort() (0) | 2022.03.29 |
Array. from() (0) | 2022.03.12 |