• Q&A
  • 회원가입
  • 로그인

[Array] JS - reduceRight() 메서드 - 오른쪽배열값부터 계산 (= reduceRight메서드 = 리듀스라이트 메서드)

250  
목차
  1. reduceRight() 예제 - 오른쪽 배열값부터 계산
  2. reduceRight() 정의
  3. reduceRight() 구문
  4. reduceRight() 예제 - 반올림 후 합산
  5. reduceRight() 예제 - 배열값 합산

 

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

 

위 예 경우, initialValue 없으므로, total은 바로 앞 배열값인 50부터 시작.

25 경우, 50 - 25 = 25

50 경우, 25 - 50 = -25 

150 경우, -25 - 150 = - 170

 


reduceRight() 정의

 

오른쪽에 있는 배열값부터 함수 적용 후, 단일값 도출

 


 

1.

오른쪽에 있는 배열값부터 함수 적용.
단, initialValue (= 초기값) 존재 유무에 따라 total 독립변수가 달라짐.

 

2.

initialValue (= 초기값) 없는 경우 

배열 마지막 두 번째 값이 total 독립변수 시작값임.

 

initialValue (= 초기값) 있는 경우

initialValue (= 초기값)이 total 독립변수 시작값임.

 

3.

실행에 필요한 매개변수가 존재 않는 경우에 reduceRight() 메서드 적용 안 함.


4.

원래 배열값을 변경하는 건 아님.


5.

IE9 이상 최신 주요 브라우저 지원.


6.

ECMAScript 5

 

※ https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduceright

 

reduceRight() 구문

 

array.reduceRight(function(total, currentValue, currentIndex, arr)initialValue)

 


[매개변수]

 

function(total,currentValue, currentIndex,arr)

필수. 각각의 배열값에 대해 실행할 콜백함수

total
필수. initialValue (= 초기값) 또는, 앞서 반환한 함수 결과값

  • initialValue 있으면, total은 initialValue부터 시작.
  • initialValue 없으면, total는 마지막 배열값부터 시작.

 

currentValue

필수. 현재 요소 값.

  • initialValue 있으면, currentValue는 마지막 배열값부터 시작. 
  • initialValue 없으면, currentValue는 마지막 두번째 배열값부터 시작.


currentIndex

선택. 현재 요소 인덱스. 


arr

선택. 현재 요소가 속한 배열 객체

 

initialValue

선택. 초기값으로 함수에 전달된 값.

 

 

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

 

※ 초기값 0 있으므로, 첫번째 배열값부터 시작.


6.7 경우 : 0 + 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

 

 

 

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

 


초기값 없으므로
total 독립변수가 length 번째 배열값인 4가 되고,
currentValue 독립변수가 length-1번째 배열값인 3부터 시작.

 

3 경우: 4 + 3 = 7 (※ 2의 total 독립변수)

2 경우: 7 + 2  = 9 (※ 1의 total 독립변수)

1 경우: 9 + 1 = 10

 



찾아주셔서 감사합니다. Since 2012