소개
이 랩에서는 JavaScript 의 unwind 함수를 탐구해 보겠습니다. 이 함수의 목적은 객체와 해당 객체의 배열 값을 가진 속성으로부터 객체 배열을 생성하는 것입니다. 객체 구조 분해 할당 (object destructuring) 과 Array.prototype.map()을 사용하여, 각 객체가 원래 객체의 값을 포함하고, 지정된 키는 개별 값에 매핑된 객체 배열을 만들 수 있습니다. 이 랩을 통해 JavaScript 에서 객체를 조작하고 데이터를 추출하는 방법에 대한 더 깊은 이해를 얻을 수 있습니다.
객체 언와인드 함수 (Unwind Object Function)
배열 값을 가진 속성을 기준으로 객체를 언와인드하려면 unwind 함수를 사용합니다.
- 코딩을 시작하려면 터미널/SSH 를 열고
node를 입력하십시오. - 이 함수는 객체 구조 분해 할당 (object destructuring) 을 사용하여 객체에서 지정된
key에 대한 키 - 값 쌍을 제외합니다. - 그런 다음, 주어진
key의 값에 대해Array.prototype.map()을 사용하여 객체 배열을 생성합니다. - 각 객체는
key가 개별 값에 매핑된 것을 제외하고 원래 객체의 값을 포함합니다.
const unwind = (key, obj) => {
const { [key]: _, ...rest } = obj;
return obj[key].map((val) => ({ ...rest, [key]: val }));
};
사용 예시:
unwind("b", { a: true, b: [1, 2] }); // [{ a: true, b: 1 }, { a: true, b: 2 }]
요약
축하합니다! 객체 언와인드 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.