소개
이 랩에서는 JavaScript 프로그래밍을 탐구하고, Array.prototype.reduce(), Array.prototype.filter(), 그리고 Array.prototype.map() 메서드를 함께 사용하여 조건에 따라 객체 배열을 필터링하고 지정되지 않은 키를 제거하는 함수를 만드는 방법을 배웁니다. 이 랩은 JavaScript 에서 함수형 프로그래밍에 대한 이해를 높이고 객체 배열을 간결하고 효율적인 방식으로 조작하는 데 도움이 될 것입니다.
조건 및 키로 객체 필터링
조건에 따라 객체 배열을 필터링하고 지정되지 않은 키를 제거하려면 reducedFilter() 함수를 사용하십시오.
다음은 따라야 할 단계입니다.
Array.prototype.filter()를 사용하여 술어 (predicate)fn을 기반으로 배열을 필터링하여 조건이 참 (truthy) 값을 반환하는 객체를 반환합니다.필터링된 배열에
Array.prototype.map()을 사용하여 새 객체를 반환합니다.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 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.