함수를 기반으로 배열 분할하기

Beginner

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

소개

이 랩에서는 JavaScript 에서 주어진 필터링 함수를 기반으로 배열을 분할하는 방법을 살펴봅니다. Array.prototype.reduce() 메서드와 Array.prototype.push() 메서드를 사용하여 필터링 함수가 truthy 값을 반환하는지 여부에 따라 배열의 값을 두 그룹으로 나눕니다. 이 랩은 JavaScript 에서 고차 함수와 배열 조작에 대한 이해를 높이도록 설계되었습니다.

배열을 두 그룹으로 분할하는 함수

주어진 함수의 결과에 따라 배열을 두 그룹으로 분할하려면 다음 단계를 따르세요.

  1. 터미널/SSH 를 열고 node를 입력하여 코딩 연습을 시작합니다.
  2. Array.prototype.reduce()Array.prototype.push() 메서드를 사용하여 그룹에 요소를 추가합니다. 이는 각 요소에 대해 주어진 함수 fn이 반환하는 값을 기반으로 합니다.
  3. fn이 모든 요소에 대해 truthy 값을 반환하면 첫 번째 그룹에 추가합니다. 그렇지 않으면 두 번째 그룹에 추가합니다.

다음은 코드입니다.

const bifurcateBy = (arr, fn) =>
  arr.reduce(
    (acc, val, i) => (acc[fn(val, i) ? 0 : 1].push(val), acc),
    [[], []]
  );

예를 들어, bifurcateBy(['beep', 'boop', 'foo', 'bar'], x => x[0] === 'b')를 호출하면 함수는 [ ['beep', 'boop', 'bar'], ['foo'] ]를 반환합니다.

요약

축하합니다! 함수 기반 배열 분할 (Bifurcate Array Based on Function) 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.