과제 : 평균 나이 구하기

라용·2022년 12월 4일
0

모던 JavaScript 튜토리얼 내용 중 일부 문제를 정리한 내용입니다.

나이 age 를 값을 가진 객체가 여러개 담긴 배열이 있을 때, 이 나이들의 평균 나이를 반환하는 함수를 작성한다. 배열 갯수에 상관없이 값을 더하고 나누어야 하므로 (age1 + age2 + ... + ageN) / N 공식이 만들어 져야 한다.

let john = { name: "John", age: 25 };
let pete = { name: "Pete", age: 30 };
let mary = { name: "Mary", age: 29 };

let arr = [ john, pete, mary ];

alert( getAverageAge(arr) ); // (25 + 30 + 29) / 3 = 28

배열 내 요소의 합처럼 배열 기반으로 하나의 값을 도출할 때 reduce 를 사용하면 좋다.

// 기본 형태

let value = arr.reduce(function(accumulator, item, index, array) {
  // ...
}, [initial]);

// 예시

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

let result = arr.reduce((sum, current) => sum + current, 0); // 초기 값 0 생략하면 배열 첫 번째 요소 사용, 빈 비열일 경우 에러 발생하니 주의

alert(result); // 15

reduce 를 활용해 풀이를 작성하면,

function getAverageAge(users) {
  return users.reduce((prev, user) => prev + user.age, 0) / users.length;
}
profile
Today I Learned

0개의 댓글