라이브러리

[JAVASCRIPT] arr.reduceRight(callback, initialValue) - 배열을 오른쪽에서 왼쪽으로 누적 연산




reduceRight() 메서드 소개


`reduceRight()` 메서드는 배열의 모든 요소를 하나의 값으로 줄이는 함수입니다. 이 메서드는 배열의 요소를 왼쪽에서 오른쪽으로 순회하며, 이전 요소와 현재 요소를 조합하여 새로운 값으로 만듭니다.

reduceRight() 메서드의 인자


`reduceRight()` 메서드는 두 개의 인자를 받습니다.

- callback: 배열의 각 요소를 처리하는 함수입니다. 이 함수는 두 개의 인자를 받습니다. 첫 번째 인자는 이전 값, 두 번째 인자는 현재 요소입니다.
- initialValue: 초기값입니다. 이 값은 callback 함수의 첫 번째 인자로 사용됩니다. 만약 initialValue를 지정하지 않으면, callback 함수의 첫 번째 인자는 배열의 첫 번째 요소가 됩니다.

reduceRight() 메서드의 예제


# 예제 1: 배열의 모든 요소를 더하는 경우


#hostingforum.kr
javascript

const arr = [1, 2, 3, 4, 5];



const sum = arr.reduceRight((prev, curr) => prev + curr, 0);

console.log(sum); // 15



# 예제 2: 배열의 모든 요소를 곱하는 경우


#hostingforum.kr
javascript

const arr = [1, 2, 3, 4, 5];



const product = arr.reduceRight((prev, curr) => prev * curr, 1);

console.log(product); // 120



# 예제 3: 배열의 모든 요소를 문자열로 연결하는 경우


#hostingforum.kr
javascript

const arr = ['a', 'b', 'c', 'd', 'e'];



const str = arr.reduceRight((prev, curr) => prev + curr, '');

console.log(str); // 'eabcd'



# 예제 4: 배열의 모든 요소를 객체로 만드는 경우


#hostingforum.kr
javascript

const arr = ['name', 'age', 'city'];



const obj = arr.reduceRight((prev, curr) => ({ [curr]: prev }), '');

console.log(obj); // { city: { age: { name: '' } } }



reduceRight() 메서드의 사용 사례


`reduceRight()` 메서드는 배열의 요소를 처리할 때 유용합니다. 예를 들어, 배열의 모든 요소를 더하거나 곱하는 경우, 또는 배열의 모든 요소를 문자열로 연결하는 경우에 사용할 수 있습니다.

reduceRight() 메서드의 장점


`reduceRight()` 메서드는 배열의 요소를 처리하는 데 유용합니다. 이 메서드는 배열의 요소를 왼쪽에서 오른쪽으로 순회하며, 이전 요소와 현재 요소를 조합하여 새로운 값으로 만듭니다.

reduceRight() 메서드의 단점


`reduceRight()` 메서드는 배열의 요소를 처리하는 데 유용하지만, 초기값을 지정하지 않으면 callback 함수의 첫 번째 인자가 undefined가 됩니다.

결론


`reduceRight()` 메서드는 배열의 요소를 처리하는 데 유용한 메서드입니다. 이 메서드는 배열의 요소를 왼쪽에서 오른쪽으로 순회하며, 이전 요소와 현재 요소를 조합하여 새로운 값으로 만듭니다. 초기값을 지정하지 않으면 callback 함수의 첫 번째 인자가 undefined가 됩니다.

참고 자료


- MDN Web Docs: `reduceRight()` 메서드
- Mozilla Developer Network: `reduceRight()` 메서드
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 1 페이지

검색

게시물 검색