목차
array .reduceRight() 예제 - 오른쪽 배열값부터 계산
array .reduceRight() 정의
array .reduceRight() 구문
array .reduceRight() 예제 - 배열값 반올림 후 합산
array .reduceRight() 예제 - 배열값 합산
array .reduceRight() 예제 - 오른쪽 배열값부터 계산
<p id="demo"></p>
<script>
var nums = [150, 50, 25];
document.getElementById("demo").innerHTML = nums. reduceRight (homzzang ) ;
function homzzang (total, num) {
return total - num;
}
</script>
결과값 : -175
PS. 코드 동작 순서
initialValue 없으므로, total은 바로 앞 배열값인 50부터 시작.
25 경우, 50 - 25 = 25
50 경우, 25 - 50 = -25
150 경우, -25 - 150 = - 170
array .reduceRight() 정의
오른쪽에 있는 배열값부터 콜백함수 적용 후, 누적단일값 반환.
1.
오른쪽에 있는 배열값부터 함수 적용. 단, initialValue (= 초기값) 존재 유무에 따라 total 독립변수가 달라짐.
initialValue (= 초기값) 없는 경우, 배열 마지막 두 번째 값이 total 독립변수 시작값임.
initialValue (= 초기값) 있는 경우, initialValue (= 초기값)이 total 독립변수 시작값임.
빈 배열요소에 대해선 함수 실행 X
원본 배열 변경 X
2. cf.
array .reduce() 메서드 - 왼쪽 배열값부터 콜백함수 적용 후 누적단일값 반환.
3.
ECMAScript5 (ES5: JavaScript 2009)
IE9 이상 주요 최신 브라우저 지원.
4. MDN reduceRight() 예제보기
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight
array .reduceRight() 구문
array . reduceRight( function(total, value, key, arr) , initialValue )
[매개변수]
function(total, value, key , arr)
필수. 각각의 배열값에 대해 실행할 콜백함수total 필수. initialValue (= 초기값) 또는, 앞서 반환한 함수 결과값
initialValue 있으면, total은 initialValue부터 시작.
initialValue 없으면, total는 마지막 배열값부터 시작.
value
필수. 현재요소의 배열값.
initialValue 있으면, currentValue는 마지막 배열값부터 시작.
initialValue 없으면, currentValue는 마지막 두번째 배열값부터 시작.
key
선택. 현재요소의 배열키.
arr
선택. 현재요소가 속한 배열객체
initialValue
선택. 초기값으로 함수에 전달된 값.
[반환값]
콜백함수 마지막 호출 시의 누적 결과값을 반환.
array .reduceRight() 예제 - 배열값 반올림 후 합산
<button onclick="homzzang()">클릭</button>
<p id="demo"></p>
<script>
var nums = [3.5, 4.3, 5.1, 6.7];
function getSum(total, num) {
return total + Math.round (num);
}
function homzzang(item) {
document.getElementById("demo").innerHTML = nums. reduceRight(getSum, 0) ;
}
</script>
결과값 : 20
PS. 코드 동작 순서
초기값 0 있으므로, 첫번째 배열값부터 시작.
6.7 경우 : 0 + 7 (반올림값) = 7 (※ 5.1의 total 독립변수)
5.1 경우 : 7 + 5 (반올림값) = 12 (※ 4.3의 total 독립변수)
4.3 경우 : 12 + 4 (반올림값) = 16 (※ 3.5의 total 독립변수)
3.5 경우 : 16 + 4 (반올림값) = 20
array .reduceRight() 예제 - 배열값 합산
<script>
var nums = [1, 2, 3, 4];
var x = nums.reduceRight(sum);
function sum(total, num) {
return total + num;
}
document.write(x);
</script>
결과값 : 10
PS. 코드 동작 순서
초기값 없으므로 total 독립변수가 length 번째 배열값인 4가 되고, currentValue 독립변수가 length-1번째 배열값인 3부터 시작.
3 경우: 4 + 3 = 7 (※ 2의 total 독립변수)
2 경우: 7 + 2 = 9 (※ 1의 total 독립변수)
1 경우: 9 + 1 = 10
주소 복사
랜덤 이동