포스트

자바스크립트와 타입스크립트로 배열을 그룹으로 나누는 방법

문제 상황과 필요성

많은 개발자가 자주 마주치는 문제 중 하나는 배열을 여러 하위 배열로 나누는 것입니다. 이러한 작업은 데이터 처리, 정렬 또는 분석에서 자주 발생합니다. 예를 들어, 12명의 학생이 있는데 이를 4명씩 3개의 그룹으로 나누어야 하는 상황이 있을 수 있습니다. 이 글에서는 이러한 문제를 자바스크립트와 타입스크립트 언어를 사용하여 어떻게 해결할 수 있는지 살펴보겠습니다.

자바스크립트로 배열 나누기

자바스크립트에서 배열을 그룹으로 나누는 가장 간단한 방법은 slice 메서드를 사용하는 것입니다.

1
2
3
4
5
6
7
8
9
10
11
function splitArray(inputArray, groupSize) {
  const result = [];
  for (let i = 0; i < inputArray.length; i += groupSize) {
    result.push(inputArray.slice(i, i + groupSize));
  }
  return result;
}

const myArray = [1, 2, 3, 4, 5, 6];
const groupedArray = splitArray(myArray, 2);
console.log(groupedArray); // 출력: [[1, 2], [3, 4], [5, 6]]

여기서 slice 메서드는 배열의 특정 부분을 추출해 새로운 배열을 생성합니다. groupSize는 각 하위 배열의 크기를 결정합니다.

타입스크립트로 배열 나누기

타입스크립트에서는 자바스크립트의 모든 기능을 사용할 수 있으며, 추가로 타입을 명시적으로 선언할 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
function splitArray(inputArray: number[], groupSize: number): number[][] {
  const result: number[][] = [];
  for (let i = 0; i < inputArray.length; i += groupSize) {
    result.push(inputArray.slice(i, i + groupSize));
  }
  return result;
}

const myArray: number[] = [1, 2, 3, 4, 5, 6];
const groupedArray: number[][] = splitArray(myArray, 2);
console.log(groupedArray); // 출력: [[1, 2], [3, 4], [5, 6]]

여기서 number[]number[][]는 타입을 명시적으로 선언한 것입니다. 이렇게 함으로써 코드의 가독성과 유지보수성이 향상됩니다.

주의할 점

코드를 작성할 때 배열의 길이가 groupSize로 나누어 떨어지지 않을 경우를 고려해야 합니다. 이런 경우 마지막 그룹은 다른 그룹보다 원소가 적을 수 있습니다. 이점을 고려해 코드를 작성하면 더욱 견고한 애플리케이션을 만들 수 있습니다.

결론

배열을 그룹으로 나누는 작업은 자바스크립트와 타입스크립트에서 간단하게 해결할 수 있습니다. slice 메서드를 활용하면 빠르고 효율적으로 배열을 나눌 수 있으며, 타입스크립트를 사용하면 타입 안정성도 확보할 수 있습니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.