
Reduce
리듀스 함수는 배열 요소를 하나씩 순회하면서 모든 값을 하나의 값으로 축약하는 함수로 값을 바꾸는데 적합한 함수이다.
첫번째 매개변수는 콜백 함수, 두번째 매개변수는 초기값을 받으며 초기값을 넣지 않으면 배열의 0번 인덱스의 값을 초기값으로 설정
Reduce 사용해보기
- Arr3 배열 선언 후 이전 값이 들어 있는 acc와 두번째 매개변수에 초기값을 설정하지않아 인덱스 0번의 값부터 순회하는 value의 값을 더해서 출력
- return 되는 수를 첫번째 매개변수가 받아옴
- 즉, 첫번째 수와 그 다음 수를 더한 값에 그 다음 수를 더하는 코드를 작성
- 그중 acc + value의 값이 33이면 50으로 숫자를 바꿈
const Arr3 = [1, 2, 30, 4, 5, 15, 10];
// reduce 메소드
// 첫번째 매개변수는 콜백 함수, 두번째 매개변수는 초기값. 초기값을 넣지않으면 배열의 0번 인덱스의 값을 초기값으로 설정
// 두 값을 더하면서 반환 시키는 기능 구현
// acc는 이전 결과 값이 return
const temp7 = Arr3.reduce(function (acc, value) {
console.log("acc : ", acc);
console.log("value : ", value);
console.log(acc + value);
if (acc == 33) {
return 50;
}
return acc + value;
}, 0);

배열의 가장 큰 수를 가져오는 함수
const Arr3 = [1, 2, 30, 4, 5, 15, 10];
// 배열을 순회하면서 제일 큰 값을 반환
const max = Arr3.reduce(function (acc, value) {
console.log("acc : ", acc);
console.log("value : ", value);
// 이전값과 다음 값을 비교하여 큰 수 반환
return acc > value ? acc : value;
});
console.log(max);

배열의 가장 작은 수를 가져오는 함수
const Arr3 = [1, 2, 30, 4, 5, 15, 10];
// 배열을 순회하면서 제일 작은 값 반환
const min = Arr3.reduce(function (acc, value) {
return acc < value ? acc : value;
});
console.log(min);

728x90
'JavaScript' 카테고리의 다른 글
| [Javascript] Set, Map 사용해보기 (0) | 2023.04.06 |
|---|---|
| [Javascript] 이터러블(iterable)과 이터레이터(iterator) 알아보기 (0) | 2023.04.05 |
| [Javascript] 클로저(closure) 알아보기 (0) | 2023.04.05 |
| [Javascript] 프로토타입(prototype) 알아보기 (0) | 2023.04.05 |
| [Javascript] class 알아보기 (0) | 2023.03.31 |