두 개의 배열로 분할하기

Beginner

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

소개

이 랩에서는 JavaScript 를 사용하여 제공된 함수의 진실성에 따라 배열을 두 개의 별도 배열로 분할하는 방법을 살펴봅니다. Array.prototype.reduce() 메서드를 사용하여 두 개의 배열을 생성하고, 제공된 함수의 진실성에 따라 Array.prototype.push() 메서드를 사용하여 적절한 배열에 요소를 추가합니다. 이 랩을 마치면 JavaScript 에서 배열을 분할하는 방법에 대한 강력한 이해를 갖게 되며, 향후 프로젝트에 이 지식을 적용할 수 있게 됩니다.

함수를 기반으로 배열을 두 개로 분할하는 방법

제공된 함수를 기반으로 배열을 두 개로 분할하려면 다음 단계를 따르세요.

  1. 터미널/SSH 를 열고 node를 입력하여 코딩 연습을 시작합니다.
  2. Array.prototype.reduce()를 사용하여 두 개의 배열로 구성된 배열을 생성합니다.
  3. fntrue를 반환하는 요소는 첫 번째 배열에, fnfalse를 반환하는 요소는 두 번째 배열에 Array.prototype.push()를 사용하여 추가합니다.

다음은 사용할 수 있는 코드입니다.

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

이 코드를 테스트하려면 다음 예제를 사용할 수 있습니다.

const users = [
  { user: "barney", age: 36, active: false },
  { user: "fred", age: 40, active: true }
];
partition(users, (o) => o.active);
// [
//   [{ user: 'fred', age: 40, active: true }],
//   [{ user: 'barney', age: 36, active: false }]
// ]

이렇게 하면 두 개의 배열로 구성된 배열이 반환됩니다. 여기서 첫 번째 배열에는 제공된 함수가 true를 반환하는 모든 요소가 포함되고, 두 번째 배열에는 제공된 함수가 false를 반환하는 모든 요소가 포함됩니다.

요약

축하합니다! 배열을 두 개로 분할하는 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.