Skip to content

keyBy

배열의 요소를 쉽게 찾을 수 있도록, 키-값 쌍을 이루는 객체로 바꿔요.

이 함수는 파라미터로 배열과 각 요소에서 키를 생성하는 함수를 받아요. 키는 함수에서 생성된 키이고, 값은 해당 키를 생성한 요소인 객체를 반환해요. 만약 동일한 키를 생성하는 요소가 여러 개 있다면, 그 중 마지막 요소가 값으로 사용돼요.

인터페이스

typescript
function keyBy<T, K extends PropertyKey>(arr: T[], getKeyFromItem: (item: T) => K): Record<K, T>;

파라미터

  • arr (T[]): 매핑할 배열.
  • getKeyFromItem ((item: T) => K): 요소에서 키를 생성하는 함수.

반환 값

(Record<K, T>) 키와 해당 배열 요소들이 매핑된 객체를 반환해요.

예시

typescript
const array = [
  { category: 'fruit', name: 'apple' },
  { category: 'fruit', name: 'banana' },
  { category: 'vegetable', name: 'carrot' },
];
const result = keyBy(array, item => item.category);
// 결과값:
// {
//   fruit: { category: 'fruit', name: 'banana' },
//   vegetable: { category: 'vegetable', name: 'carrot' }
// }

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