[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 }가 출력됩니다.

이와 같은 방식으로 자바스크립트에서 객체의 속성 값을 기준으로 필터링할 수 있습니다.

참고 자료