배열의 평균값
※풀이
1. 함수 solution을 정의합니다. 이 함수는 numbers라는 매개변수를 받습니다.
2. reduce 메서드를 사용하여 numbers 배열의 모든 요소를 더합니다.
3. reduce 메서드의 첫 번째 인자로는 (a, c) => a + c라는 콜백 함수가 전달됩니다.
·a: 누적값으로서 각 요소를 더한 값이 누적됩니다.
·c: 배열에서 순회하고 있는 현재 요소의 값입니다.
·a + c는 현재 요소 c를 누적값 a에 더하는 연산을 수행합니다.
·reduce 메서드의 두 번째 인자로는 초기값 0이 전달됩니다.
·초기값이 제공되면, a는 초기값으로 초기화됩니다.
·초기값이 생략되면, numbers 배열의 첫 번째 요소가 초기값으로 설정됩니다.
4. reduce 메서드의 결과를 numbers.length로 나누어 평균을 계산합니다.
reduce() | reduce()는 배열(Array) 객체의 메서드로, 배열의 각 요소에 대해 주어진 콜백 함수를 실행하고, 콜백 함수의 반환 값을 누적하여 하나의 결과값을 생성하는 함수입니다. |
ex1)
{
function solution(numbers){
return numbers.reduce((a,c) => a + c ,0) / numbers.length;
}
console.log(solution([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]));
//5.5
}
ex2)
{
function solution(numbers){
return numbers.reduce((a,c) => a + c ,0) / numbers.length;
}
console.log(solution([89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]));
//94
}
머쓱이 보다 키 큰 사람
※풀이
1. 함수 solution을 정의합니다. 이 함수는 array와 height라는 매개변수를 받습니다.
2. filter 메서드를 사용하여 array 배열에서 특정 조건을 만족하는 요소들을 걸러냅니다.
·filter 메서드의 인자로는 화살표 함수 (v) => v > height가 전달됩니다.
·v: 배열에서 순회하고 있는 현재 요소의 값입니다.
·v > height는 현재 요소 v가 height보다 큰지를 평가하는 조건식입니다.
·filter 메서드는 조건을 만족하는 요소들로 새로운 배열을 생성하여 반환합니다.
4. filter 메서드로 걸러진 배열의 length를 반환 하여 개수를 구합니다.
filter() | filter() 메서드는 주어진 함수의 조건을 만족하는 배열의 요소들로 구성된 새로운 배열을 반환합니다. |
ex1)
{
function solution(array, height) {
return array.filter(v => v > height).length
}
console.log(solution([149, 180, 192, 170], 163));
//3
}
ex2)
{
function solution(array, height) {
return array.filter(v => v > height).length
}
console.log(solution([180, 120, 140], 190));
//0
}