소개
이 랩에서는 pickBy() 함수를 사용하여 주어진 함수가 truthy 값을 반환하는 키 - 값 쌍만으로 구성된 새로운 객체를 만드는 방법을 살펴봅니다. 이 함수는 특정 기준에 따라 객체에서 특정 속성을 필터링해야 하는 시나리오에서 유용할 수 있습니다. Object.keys(), Array.prototype.filter(), 그리고 Array.prototype.reduce()를 사용하여 이 작업을 수행하는 방법을 배우겠습니다.
주어진 조건을 만족하는 객체 키 선택 함수
주어진 조건을 만족하는 객체 키를 선택하려면 pickBy() 함수를 사용하십시오. 이 함수는 주어진 함수가 truthy 값을 반환하는 속성으로 구성된 새로운 객체를 생성합니다.
Object.keys()와Array.prototype.filter()를 사용하여fn이 falsy 값을 반환하는 키를 제거합니다.Array.prototype.reduce()를 사용하여 필터링된 키를 해당 키 - 값 쌍을 가진 객체로 다시 변환합니다.- 콜백 함수는 두 개의 인자 (value, key) 로 호출됩니다.
다음은 pickBy() 함수의 코드입니다.
const pickBy = (obj, fn) =>
Object.keys(obj)
.filter((k) => fn(obj[k], k))
.reduce((acc, key) => ((acc[key] = obj[key]), acc), {});
이 함수를 사용하여 조건을 만족하는 키를 선택할 수 있습니다. 예를 들어:
pickBy({ a: 1, b: "2", c: 3 }, (x) => typeof x === "number");
// { 'a': 1, 'c': 3 }
요약
축하합니다! Pick Matching Object Keys 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.