• 회원가입
  • 로그인
  • 구글아이디로 로그인

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

목차
  1. array.reduceRight() 예제 - 오른쪽 배열값부터 계산
  2. array.reduceRight() 정의
  3. array.reduceRight() 구문
  4. array.reduceRight() 예제 - 배열값 반올림 후 합산
  5. 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 (반올림값) =  (※ 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

 


방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
Array JS - Array - 배열 ★★★★★
Array JS - constructor 속성(배열) - 배열 프로토타입 생성하는 함수를 반환. (constructor…
Array JS - length 속성 - 배열길이 (= 배열개수 = 배열값개수 = 배열요소개수 = length속성 = …
Array JS - Array.prototype 속성(배열) - 사용자정의 속성/메서드 추가 (= Array.proto…
Array JS - concat() 메서드 - 배열결합 (= 배열합치기 = concat메서드 = 컨캣메서드/컨켓메서드)
Array JS - copyWithin() 메서드 - 배열내 배열값 복사하기 (= copyWithin메서드 = 카피위딘…
Array JS - every() 메서드 - 모든배열값 함수충족여부 체크 (= every메서드 = 에브리메서드) ※ 모…
Array JS - fill() 메서드 - 배열값변경 (= 배열값교체 = 배열값바꾸기 = fill메서드 = 필메서드) …
Array JS - filter() 메서드 - 함수조건충족 배열값 구하기 (= filter메서드 = 필터메서드) ※ 배…
Array JS - find() 메서드 - 맨처음 조건 충족한 배열값 찾기 (= find메서드 = 파인드메서드)
Array JS - findIndex() 메서드 - 맨처음 조건 충족/일치 배열값 색인번호 찾기 (= findIndex…
Array JS - forEach() 메서드 ★★ - 각각의 배열값(=배열요소)에 대해 한번씩 함수실행 (= forEa…
Array JS - indexOf() 메서드(배열) ★ - 처음 일치 배열값 위치 찾기 (= 배열값 포함 검사 = 배열…
Array JS - Array.isArray() 메서드 - 배열여부체크 (= 배열인지판단 = Array.isArray메…
Array JS - join() 메서드 - 배열을 문자열로 전환. (= join메서드 = 조인메서드) : 구분자 O
Array JS - lastIndexOf() 메서드(배열) ★ - 마지막일치배열값위치찾기 (= 배열값포함검사 = 마지막…
Array JS - map() 메서드 ★ - 함수 적용 결과값으로 배열 생성 (= map메서드 = 맵메서드)
Array JS - pop() 메서드 ★ - 배열의 마지막 요소 제거 (= 마지막 배열값 없애기 = pop메서드 = 팝…
Array JS - push() 메서드 ★ - 배열 뒤에(=끝에) 배열요소 추가 후, 배열길이(=배열요소개수) 반환 (…
Array JS - reduce() 메서드 ★ - 왼쪽 배열값부터 계산 (= reduce메서드 = 리듀스메서드) ※ 각…
1/2
목록
찾아주셔서 감사합니다. Since 2012