JavaScript 의 reduce () 의 이해 와 예시 설명
reduce () 방법 은 한 배열 의 모든 요 소 를 하나의 출력 값 으로 복원 합 니 다. 출력 값 은 숫자, 대상 또는 문자열 일 수 있 습 니 다.reduce () 방법 은 두 개의 매개 변수 가 있 는데 첫 번 째 는 리 셋 함수 이 고 두 번 째 는 초기 값 입 니 다.
리 턴 함수
반전 함 수 는 배열 의 모든 요소 에서 실 행 됩 니 다.리 턴 함수 의 리 턴 값 은 누적 결과 이 며, 다음 호출 리 턴 함수 의 매개 변수 로 제공 합 니 다.반전 함 수 는 네 개의 매개 변 수 를 가지 고 있다.
초기 값
초기 값 이 지정 되면 누적 기 를 initialValue 로 초기 요소 로 설정 합 니 다.그렇지 않 으 면 누적 기 를 배열 의 첫 번 째 요소 로 초기 요소 로 설정 합 니 다.이 말 은 매우 중요 하 다.
arr.reduce(callback(accumulator, currentValue[,index[,array]])[, initialValue])
아래 코드 세 션 에서 첫 번 째 누적 기 (accumulator) 는 초기 값 0 이 할당 되 었 습 니 다.currentValue 는 처리 중인 numbersArr 배열 의 요소 입 니 다.여기에 currentValue 가 누산기 에 추가 되 었 습 니 다. 다음 에 리 셋 함 수 를 호출 할 때 리 턴 값 을 매개 변수 로 제공 합 니 다.
const numbersArr = [67, 90, 100, 37, 60];
const total = numbersArr.reduce(function(accumulator, currentValue){
console.log("accumulator is " + accumulator + " current value is " + currentValue);
return accumulator + currentValue;
}, 0);
console.log("total : "+ total);
출력
accumulator is 0 current value is 67
accumulator is 67 current value is 90
accumulator is 157 current value is 100
accumulator is 257 current value is 37
accumulator is 294 current value is 60
total : 354
JavaScript reduce 용례
1. 배열 의 모든 값 을 합 친다.
아래 코드 에서 student Result 배열 은 5 개의 숫자 를 가지 고 있 습 니 다.reduce () 방법 을 사용 하여 배열 을 하나의 값 으로 줄 이 고 이 값 은 student Result 배열 의 모든 값 과 결 과 를 totalk 에 배분 합 니 다.
const studentResult = [67, 90, 100, 37, 60];
const total = studentResult.reduce((accumulator, currentValue) => accumulator +currentValue, 0);
console.log(total); // 354
2. 대상 배열 의 수치 합
일반적으로 우 리 는 백 엔 드 에서 데 이 터 를 대상 배열 로 가 져 오기 때문에 reduce () 방법 은 우리 의 전단 논 리 를 관리 하 는 데 도움 이 된다.아래 코드 에서 student Result 대상 배열 은 세 개의 과목 이 있 습 니 다. 여기 서 current Value. marks 는 student Result 대상 배열 의 각 과목 의 점 수 를 얻 었 습 니 다.
const studentResult = [
{ subject: ' ', marks: 78 },
{ subject: ' ', marks: 80 },
{ subject: ' ', marks: 93 }
];
const total = studentResult.reduce((accumulator, currentValue) => accumulator + currentValue.marks, 0);
console.log(total); // 251
3. 레벨 배열
'전 평 수조' 는 다 차원 수 조 를 1 차원 으로 전환 하 는 것 을 말한다.아래 코드 에서 투 다 르 2 차원 배열 은 원 다 르 1 차원 배열 로 바 뀌 었 다.여기 서 첫 번 째 [1, 2] 배열 은 누산기 accumulator 에 분 배 된 다음 에 toDArr 배열 의 나머지 모든 요 소 를 누산기 에 연결 합 니 다.
const twoDArr = [ [1,2], [3,4], [5,6], [7,8] , [9,10] ];
const oneDArr = twoDArr.reduce((accumulator, currentValue) => accumulator.concat(currentValue));
console.log(oneDArr);
// [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
4. 속성 별로 대상 그룹 나 누 기
대상 의 속성 에 따라 reduce () 방법 으로 대상 배열 을 몇 그룹 으로 나 눌 수 있 습 니 다.아래 의 코드 세 션 을 통 해 너 는 이 개념 을 분명하게 이해 할 수 있다.여기 서 result 대상 배열 은 다섯 개의 대상 이 있 고 대상 마다 subject 와 marks 속성 이 있 습 니 다.점수 가 50 보다 크 거나 같 으 면 이 주 제 는 통과 합 니 다. 그렇지 않 으 면 주제 가 실 패 했 습 니 다.reduce () 는 결 과 를 통과 와 실패 로 나 누 는 데 사 용 됩 니 다.우선, initialValue 를 누산기 에 할당 한 다음 push () 방법 은 검사 조건 후 현재 대상 을 pass 와 fail 속성 에 대상 배열 로 추가 합 니 다.
const result = [
{subject: ' ', marks: 41},
{subject: ' ', marks: 59},
{subject: ' ', marks: 36},
{subject: ' ', marks: 90},
{subject: ' ', marks: 64},
];
let initialValue = {
pass: [],
fail: []
}
const groupedResult = result.reduce((accumulator, current) => {
(current.marks >= 50) ? accumulator.pass.push(current) : accumulator.fail.push(current);
return accumulator;
}, initialValue);
console.log(groupedResult);
출력
{
pass: [
{ subject: ‘ ’, marks: 59 },
{ subject: ‘ ’, marks: 90 },
{ subject: ‘ ’, marks: 64 }
],
fail: [
{ subject: ‘ ’, marks: 41 },
{ subject: ‘ ’, marks: 36 }
]
}
5. 배열 의 중복 항목 삭제
아래 코드 세 션 에서 plicated Arr 배열 의 중복 항목 을 삭 제 했 습 니 다.우선, 누산기 에 빈 배열 을 초기 값 으로 배정 합 니 다.accumulator. includes () 는 Duplicated Arr 배열 의 모든 요소 가 누적 기 에서 사용 가능 한 지 확인 합 니 다.currentValue 가 누산기 에서 사용 할 수 없다 면 push () 를 사용 하여 추가 합 니 다.
const duplicatedsArr = [1, 5, 6, 5, 7, 1, 6, 8, 9, 7];
const removeDuplicatedArr = duplicatedsArr.reduce((accumulator, currentValue) => {
if(!accumulator.includes(currentValue)){
accumulator.push(currentValue);
}
return accumulator;
}, []);
console.log(removeDuplicatedArr);
// [ 1, 5, 6, 7, 8, 9 ]
총결산
본문 에서 우 리 는 배열 reduce () 방법 을 토론 했다.먼저 reduce () 방법 을 소개 한 다음 에 간단 한 예 를 들 어 그 행 위 를 토론 합 니 다.마지막 으로 예 시 를 통 해 reduce () 방법 에서 가장 흔히 볼 수 있 는 다섯 가지 용례 를 토론 했다.만약 당신 이 자 바스 크 립 트 의 초보 자라 면, 본문 은 당신 에 게 도움 이 될 것 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JavaScript 의 reduce () 의 이해 와 예시 설명reduce () 방법 은 배열 의 모든 요소 에 대해 하나의 reducer 함 수 를 실행 하여 단일 한 출력 값 을 얻 습 니 다. 반전 함 수 는 배열 의 모든 요소 에서 실 행 됩 니 다.리 턴 함수 의 리 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.