reduce 사용시 주의사항

이동규 (Justin)·2020년 6월 10일
1
post-thumbnail

아래 코드는 왜 에러가 날까?

const arr = [1,2,3,4,5];

const result = arr.reduce(function(accum,cur){
    return accum.push(cur+2)
},[])

// TypeError: Cannot read property 'push' of undefined

Array.push(); 는 실행 시 push 이후 해당 배열의 길이를 반환하기 때문에, 첫번째 시행 이후 accum은 1 이라는 integer 값이 되어버려서 두번째 reduce 시행에서 push를 호출할 때 이와 같이 타입에러를 반환하게 된다.

profile
Frontend Developer, JamStack, Ethereum

0개의 댓글