여러 배열에서 데이터 그룹화

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 원래 배열에서의 위치를 기반으로 배열 요소를 그룹화하는 방법을 살펴봅니다. 여러 배열을 입력으로 받아 각 입력 배열의 요소를 위치별로 그룹화된 하위 배열을 포함하는 새 배열을 반환하는 zip() 함수를 사용합니다. 이는 데이터 처리 및 분석에 유용한 기술이며, 여러 소스의 데이터를 단일 데이터 구조로 결합하여 추가 분석을 수행하는 데 사용할 수 있습니다.

배열 요소 그룹화

원래 배열에서의 위치를 기반으로 배열 요소를 그룹화하려면 아래에 제공된 zip 함수를 사용하십시오.

  • 터미널/SSH 를 열고 node를 입력하여 코딩 연습을 시작합니다.
  • zip 함수는 Math.max()Function.prototype.apply()를 사용하여 인자 중 가장 긴 배열을 가져옵니다.
  • 반환 값으로 해당 길이를 가진 배열을 생성하고, 매핑 함수와 함께 Array.from()을 사용하여 그룹화된 요소의 배열을 생성합니다.
  • 인자 배열의 길이가 다를 경우, 값이 없는 위치에는 undefined가 사용됩니다.
const zip = (...arrays) => {
  const maxLength = Math.max(...arrays.map((x) => x.length));
  return Array.from({ length: maxLength }).map((_, i) => {
    return Array.from({ length: arrays.length }, (_, k) => arrays[k][i]);
  });
};

사용 예시:

zip(["a", "b"], [1, 2], [true, false]); // [['a', 1, true], ['b', 2, false]]
zip(["a"], [1, 2], [true, false]); // [['a', 1, true], [undefined, 2, false]]

요약

축하합니다! 배열 요소 그룹화 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.