[JavaScript] JavaScript – reduce 함수

안녕하세요.

 

오늘은 JavaScript에서 Array API에서 기본으로 제공해주는 함수 중에서 reduce 함수에 대해서 공부해 보려고 합니다.

 

reduce 메서드는 배열의 각 요소에 대해 주어진 리듀서 함수를 실행하고 그 결과 데이터를 반환하는 메서드 인데요.

 

reduce 메서드의 인자는 총 4개의 인자를 가집니다.

 

1. accumulator

2. cur

3. index

4. souce

 

위와 같이 4가지의 인자값을 가지는데요.

 

reduce 함수의 반환 값은 accumulator에 할당이 되고, accumulator는 순회 중 유지되므로 결국 최종 반환되는 결과 값은 하나의 값이 됩니다.

 

그럼 예제 코드를 통해서 reduce 함수를 어떻게 사용하는지 알아 보도록 하겠습니다.

 

예제 코드는 Student 클래스에서 여러명의 학생들을 선언하고, 여기서 학생들의 성적의 총합을 reduce 함수를 이용해서 구하고 평균값까지 내는 과정을 예제 코드로 작성해 보겠습니다.

 

예제 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
'use strict';
 
class Student {
    constructor(name, age, enrolled, score) {
        this.name = name;
        this.age = age;
        this.enrolled = enrolled;
        this.score = score;
    }
}
const students = [
    new Student('A'29true45),
    new Student('B'28false80),
    new Student('C'30true100),
    new Student('D'40false66),
    new Student('E'18true88),
    new Student('F'18true23),
    new Student('G'18true44),
    new Student('H'18true11),
];
 
{
    console.clear();
    const result = students.reduce((prev, curr) => prev + curr.score, 0);
    console.log(`총 합은 = ${result} 이고, 평균 값은 = ${result / students.length} 점 입니다.`);
}
 
cs

 

실행 결과

 위와 같이 reduce 함수를 이용해서 학생들의 성적의 총 합을 구했고, 평균값까지 구해 보았습니다.

 

감사합니다.

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY