먼저 결정할 점
현재 함수는 빈 배열에서 0/0이 되어 NaN을 반환합니다. 빈 배열을0으로 취급할지는 프로젝트의 정책입니다. 아래는 숫자 배열만 입력하고 빈 배열은0으로 처리하기로 선택한 수정안입니다.
function average(xs) {
if (!Array.isArray(xs) || xs.length === 0) return 0;
return xs.reduce((a, b) => a + b, 0) / xs.length;
}
[10,20,30]은20, []와 null은0입니다. 문자 원소·NaN까지 처리한 코드는 아니므로 금액처럼 엄격한 입력은 별도 검증이 필요합니다.
의견 보내기