JavaScript 를 이용한 객체 속성 변환

Beginner

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

소개

이 랩에서는 JavaScript 의 transform 함수를 살펴봅니다. 이 함수는 누산기 (accumulator) 와 객체의 각 키에 대해 지정된 함수를 적용할 수 있게 해줍니다. Object.keys()Array.prototype.reduce()를 사용하여 객체의 각 키를 쉽게 반복하고 원하는 변환을 수행할 수 있습니다. 이 랩은 이 유용한 함수에 대한 실습 경험을 제공하고 JavaScript 프로그래밍에서 실제 적용 사례를 보여줍니다.

객체 변환

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

transform 함수는 누산기 (accumulator) 와 객체의 각 키에 대해 지정된 함수를 왼쪽에서 오른쪽으로 적용합니다. 사용 방법은 다음과 같습니다.

  • Object.keys()를 사용하여 객체의 각 키를 반복합니다.
  • Array.prototype.reduce()를 사용하여 지정된 함수를 주어진 누산기에 적용합니다.
const transform = (obj, fn, acc) =>
  Object.keys(obj).reduce((a, k) => fn(a, obj[k], k, obj), acc);

다음은 예시입니다.

transform(
  { a: 1, b: 2, c: 1 },
  (r, v, k) => {
    (r[v] || (r[v] = [])).push(k);
    return r;
  },
  {}
); // { '1': ['a', 'c'], '2': ['b'] }

요약

축하합니다! Transform Object 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.