English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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() | 는 | 3 | 10.5 | 4 | 9 |
매개변수 | 설명 |
---|---|
callback | 배열의 각 요소에 대해 실행되는 함수. 함수 매개변수:
|
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; }테스트 보기‹/›