[typescript] 배열 요소 조건문으로 분류하기

배열에서 특정 조건에 따라 요소를 분류하고 싶다면 TypeScript의 강력한 기능을 활용할 수 있습니다. 이 포스트에서는 filterreduce 함수를 사용하여 배열 요소를 조건에 따라 분류하는 방법에 대해 알아보겠습니다.

1. filter 함수를 사용하여 배열 요소 분류하기

filter 함수는 주어진 조건에 맞는 요소로 이루어진 새로운 배열을 생성합니다. 예를 들어, 숫자 배열에서 짝수만 필터링하여 새로운 배열을 생성하는 방법은 다음과 같습니다.

const numbers: number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const evenNumbers: number[] = numbers.filter(num => num % 2 === 0);
console.log(evenNumbers); // [2, 4, 6, 8, 10]

2. reduce 함수를 사용하여 배열 요소 분류하기

reduce 함수는 배열을 순회하면서 각 요소에 대해 콜백 함수를 적용하여 값을 축적할 수 있는 기능을 제공합니다. 예를 들어, 문자열 배열에서 각 문자열의 길이별로 그룹화하여 객체에 저장하는 방법은 다음과 같습니다.

const words: string[] = ['apple', 'banana', 'orange', 'pear', 'grape'];
const groupedByLength: { [key: number]: string[] } = words.reduce((acc, word) => {
  const length = word.length;
  if (!acc[length]) {
    acc[length] = [];
  }
  acc[length].push(word);
  return acc;
}, {} as { [key: number]: string[] });
console.log(groupedByLength);
// { '5': [ 'apple', 'grape' ], '6': [ 'banana', 'orange' ], '4': [ 'pear' ] }

요약

filter 함수를 사용하여 조건에 맞는 요소를 필터링하고, reduce 함수를 사용하여 요소를 축적하면서 분류하는 방법을 살펴보았습니다. 이러한 고차 함수들은 TypeScript를 사용하여 배열을 다룰 때 매우 유용합니다.

배열 조작에 대한 추가 정보는 TypeScript 공식 문서에서 찾아볼 수 있습니다.