[javascript] 객체의 속성 값을 기준으로 필터링하기
자바스크립트에서 객체의 속성 값을 기준으로 필터링하는 방법에 대해 알아보겠습니다.
보통 배열을 필터링할 때, Array.filter()
메소드를 사용하여 조건에 맞는 요소만 골라낼 수 있습니다. 하지만 객체의 경우에는 Array.filter()
메소드를 사용할 수 없습니다.
그러나, 다음과 같은 방법으로 객체의 속성 값을 기준으로 필터링할 수 있습니다.
// 필터링할 객체 배열
const users = [
{ name: "John", age: 25 },
{ name: "Jane", age: 30 },
{ name: "Alice", age: 35 },
];
// 속성 값을 기준으로 필터링하는 함수
function filterByProperty(arr, prop, value) {
return arr.filter(item => item[prop] === value);
}
// name이 'Jane'인 객체 필터링
const filteredUsers = filterByProperty(users, "name", "Jane");
console.log(filteredUsers); // [{name: 'Jane', age: 30}]
위의 코드에서, filterByProperty
함수는 배열과 속성 이름(prop
) 그리고 속성 값(value
)을 인자로 받아 해당 속성 값과 일치하는 객체들을 필터링하여 반환합니다.
위의 예제에서는 users
배열에서 name
속성 값이 ‘Jane’인 객체를 필터링하였습니다. 결과로 { name: "Jane", age: 30 }
가 출력됩니다.
이와 같은 방식으로 자바스크립트에서 객체의 속성 값을 기준으로 필터링할 수 있습니다.