반응형
자바 스크립트 빈 배열 줄이기
배열을 줄이면 숫자 0을 얻으려고하지만 함수의 동작을 명확하게 이해하지 못합니다.
[].reduce(function(previousValue, currentValue){
return Number(previousValue) + Number(currentValue);
});
결과
TypeError: Reduce of empty array with no initial value
배열이 비어 있으면 줄일 수 없습니다
[""].reduce(function(previousValue, currentValue){
return Number(previousValue) + Number(currentValue);
});
결과
""
배열의 유일한 요소가 빈 문자열 인 경우 빈 문자열을 검색합니다.
두 번째 매개 변수 는 초기 값입니다.
[].reduce(function(previousValue, currentValue){
return Number(previousValue) + Number(currentValue);
}, 0);
또는 ES6 사용 :
[].reduce( (previousValue, currentValue) => previousValue + currentValue, 0);
두 동작 모두 사양에 따릅니다 .
reduce
두 번째 인수로 초기 "누적"값을 명시 적으로 제공하지 않는 한 빈 배열을 사용할 수 없습니다 .
initialValue가 제공되지 않은 경우 previousValue는 배열의 첫 번째 값과 같고 currentValue는 두 번째 값과 같습니다. 배열에 요소가없고 initialValue가 제공되지 않은 경우 TypeError입니다.
배열에 요소가 하나 이상있는 경우 초기 값 제공은 선택 사항입니다. 그러나 하나가 제공되지 않으면 배열의 첫 번째 요소가 초기 값으로 사용되며 reduce
콜백을 호출하여 나머지 배열 요소를 계속 처리합니다. 귀하의 경우 배열에는 단일 요소 만 포함되므로 콜백을 통해 처리 할 요소가 더 이상 없으므로 해당 요소가 초기 값과 최종 값이됩니다.
참고 URL : https://stackoverflow.com/questions/23359173/javascript-reduce-an-empty-array
반응형
'IT박스' 카테고리의 다른 글
Jackson으로 열거 형 직렬화 (0) | 2020.09.09 |
---|---|
백그라운드에서 애플리케이션의 출력을 / dev / null로 리디렉션하는 방법 (0) | 2020.09.09 |
교리 및 복합 고유 키 (0) | 2020.09.09 |
django 쿼리에 해당하는 SQL“LIKE” (0) | 2020.09.09 |
.Net 리소스 파일 (App_GlobalResources)의 캐리지 리턴 / 줄 바꿈 (0) | 2020.09.09 |