조건 및 지정되지 않은 값 필터링

Beginner

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

소개

이 랩에서는 JavaScript 프로그래밍을 탐구하고, Array.prototype.reduce(), Array.prototype.filter(), 그리고 Array.prototype.map() 메서드를 함께 사용하여 조건에 따라 객체 배열을 필터링하고 지정되지 않은 키를 제거하는 함수를 만드는 방법을 배웁니다. 이 랩은 JavaScript 에서 함수형 프로그래밍에 대한 이해를 높이고 객체 배열을 간결하고 효율적인 방식으로 조작하는 데 도움이 될 것입니다.

조건 및 키로 객체 필터링

조건에 따라 객체 배열을 필터링하고 지정되지 않은 키를 제거하려면 reducedFilter() 함수를 사용하십시오.

다음은 따라야 할 단계입니다.

  1. Array.prototype.filter()를 사용하여 술어 (predicate) fn을 기반으로 배열을 필터링하여 조건이 참 (truthy) 값을 반환하는 객체를 반환합니다.

  2. 필터링된 배열에 Array.prototype.map()을 사용하여 새 객체를 반환합니다.

  3. Array.prototype.reduce()를 사용하여 keys 인수로 제공되지 않은 키를 필터링합니다.

const reducedFilter = (data, keys, fn) =>
  data.filter(fn).map((el) =>
    keys.reduce((acc, key) => {
      acc[key] = el[key];
      return acc;
    }, {})
  );

다음은 reducedFilter() 함수의 사용 예시입니다.

const data = [
  {
    id: 1,
    name: "john",
    age: 24
  },
  {
    id: 2,
    name: "mike",
    age: 50
  }
];

reducedFilter(data, ["id", "name"], (item) => item.age > 24);
// Output: [{ id: 2, name: 'mike'}]

코딩 연습을 시작하려면 터미널/SSH 를 열고 node를 입력하십시오.

요약

축하합니다! 필터 일치 및 지정되지 않은 값 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.