반복문 없이 반복문 하는 방법이 있어 공유합니다.
const scores = [85, 95, 76];
const average = (list, total, length) => {
if (length === list.length) return total / length;
return average(list, total + list[length], length + 1);
};
console.log('average:', average(scores, 0, 0));
위처럼 하면 if (length === list.length) 가 되기 전까지는 return 문을 수행하지 않으며 총 Length에서 total 값을 나눠 평균값 구한 값을 리턴하지 않습니다.
그러니까. 그렇게 되기까지 average를 리턴하는데. 그 구문은 list[length] 를 하나씩 더해주면서 length+1로 총 3개의 숫자가 될 때까지(=length) 증가 시켜주는 것입니다. 그리고 마지막에는 리턴문이 수행되면서 평균값이 나오게 되는 것이지요.
'Javascript' 카테고리의 다른 글
[이미지] Lazy Loading에 대한 고찰 (0) | 2020.02.15 |
---|---|
var, let & const 이해하기 (0) | 2019.12.15 |
Javscript Callback (0) | 2019.09.12 |
Javascript 함수가 왜 1급 객체일까? (0) | 2019.09.12 |
[JS] JS 5가지 팁 (0) | 2019.02.01 |
댓글