Skip to content

reduce (Set)

Set의 요소를 순회하며 콜백 함수를 적용하여 하나의 값으로 줄여요.

typescript
const result = reduce(set, callback, initialValue);

INFO

이 함수는 다른 컬렉션 유형의 유사한 함수와의 잠재적 충돌을 피하기 위해 es-toolkit/set에서만 사용할 수 있어요.

사용법

reduce(set, callback, initialValue?)

Set의 각 요소에서 결과를 누적하여 하나의 값으로 변환하고 싶을 때 reduce를 사용하세요. 각 요소를 처리하고 누산기를 업데이트하는 콜백 함수를 제공하세요. 초기값이 제공되면 누산기의 시작값으로 사용돼요. 초기값이 제공되지 않고 Set이 비어있으면 TypeError가 발생해요.

typescript
import { reduce } from 'es-toolkit/set';

const set = new Set([1, 2, 3]);

const result = reduce(set, (acc, value) => acc + value, 0);
// 결과: 6

다양한 방법으로 Set을 줄일 수 있어요.

typescript
import { reduce } from 'es-toolkit/set';

// 초기값과 함께 합계 계산해요.
const numbers = new Set([10, 20, 30, 40]);

const total = reduce(numbers, (acc, num) => acc + num, 0);
// 결과: 100

// 초기값 없이 (첫 번째 요소 사용)
const values = new Set([5, 10]);

const sum = reduce(values, (acc, value) => acc + value);
// 결과: 15 (첫 번째 값 5부터 시작)

// Set에서 배열 만들기
const uniqueNames = new Set(['Alice', 'Bob', 'Charlie']);

const nameList = reduce(uniqueNames, (acc, name) => [...acc, name.toUpperCase()], [] as string[]);
// 결과: ['ALICE', 'BOB', 'CHARLIE']

파라미터

  • set (Set<T>): 줄일 Set이에요.
  • callback ((accumulator: A, value: T, value2: T, set: Set<T>) => A): 각 요소를 처리하고 누산기를 업데이트하는 함수예요.
  • initialValue (A, 선택): 누산기의 초기값이에요. 제공되지 않으면 Set의 첫 번째 요소를 사용해요.

반환 값

(A): 최종 누적된 값을 반환해요.

예외

(TypeError): Set이 비어있고 초기값이 제공되지 않으면 발생해요.

MIT 라이선스에 따라 배포됩니다.