English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript 배열 reduce() 메서드

 JavaScript 배열 객체

reduce()메서드는 축적자를 받아들이고, 배열의 각 값(왼쪽에서 오른쪽으로)를 줄이기 시작하여 마지막으로 하나의 값으로 계산합니다。

reduce()메서드는 각 배열 인덱스에 대해 콜백 함수를 한 번 실행합니다。

함수의 반환 값은 축적자(result)에 저장됩니다。

문법:

array.reduce(callback, initialValue)
var nums = [10, 20, 30, 40, 50];
var sum = nums.reduce(getTotal);
function getTotal(x, y) {
return (x + y);
}
테스트 보기‹/›

브라우저 호환성

표의 숫자는 reduce() 메서드를 완전히 지원하는 첫 번째 브라우저 버전을 지정합니다:

Method
reduce()310.549

매개변수 값

매개변수설명
callback
배열의 각 요소에 대해 실행되는 함수.
함수 매개변수:
  • accumulator( 필수 )- 함수의initialValue또는 이전으로부터 반환된 값

  • element( 필수 )-배열에서 처리 중인 현재 요소

  • index( 선택 사항 )-배열에서 처리 중인 현재 요소의 인덱스

  • array( 선택 사항 )- 배열을 호출했습니다reduce()

initialValue( 선택 사항 ) 최초 호출 콜백의 첫 번째 매개변수 값으로 사용됩니다. 초기 값이 제공되지 않으면 배열의 첫 번째 요소가 사용됩니다.

기술 세부 사항

반환 값:생성된 값을 줄입니다
JavaScript 버전:ECMAScript 5

更多实例

이 예제에서 배열에서 중복 요소를 제거합니다:

var nums = [10, 20, 10, 20, 13, 5, 4, 5, 13, 4, 4, 4, 4]);
let result = nums.sort().reduce((accumulator, current) => {
const length = accumulator.length;
if (length === 0 || accumulator[length - 1] !== current) {
accumulator.push(current);
}
return accumulator;
}, []);
function myFunc() {
   document.getElementById("result").innerHTML = result;
}
테스트 보기‹/›

reduce()와 reduceRight() 간의 차이:

var arr = ['1', '2', '3', '4', '5'];
function funcReduce() {
var val = arr.reduce(function(x, y) { return x + y;});
document.getElementById("result").innerHTML = val;
}
function funcReduceRight() {
var val = arr.reduceRight(function(x, y) { return x + y;});
document.getElementById("result").innerHTML = val;
}
테스트 보기‹/›

 JavaScript 배열 객체