자바스크립트에서 JSON 객체를 필터링하는 방법

JSON(JavaScript Object Notation)은 데이터를 저장하고 전송하기 위한 경량의 데이터 형식입니다. JavaScript에서 JSON 데이터를 필터링하여 원하는 결과를 얻는 방법을 살펴보겠습니다.

1. Array.filter() 메소드 사용하기

JSON 객체가 배열 형태로 표현되어 있는 경우, Array.filter() 메소드를 사용하여 원하는 조건에 맞는 객체들만 필터링할 수 있습니다.

const jsonData = [
  { "name": "John", "age": 27 },
  { "name": "Catherine", "age": 32 },
  { "name": "Michael", "age": 45 },
  { "name": "Emily", "age": 22 }
];

const filteredData = jsonData.filter(item => item.age > 30);
console.log(filteredData);

위의 예제에서는 jsonData 배열에서 age 속성이 30보다 큰 객체들만 필터링하는 코드입니다. filteredData 변수에는 { "name": "Catherine", "age": 32 }{ "name": "Michael", "age": 45 } 두 개의 객체가 저장됩니다. console.log(filteredData)를 실행하면 결과를 확인할 수 있습니다.

2. 조건문을 사용하여 필터링하기

JSON 객체가 배열이 아니거나 조금 더 복잡한 필터링 조건이 필요한 경우, 조건문을 사용하여 필터링할 수 있습니다.

const jsonData = {
  "name": "John",
  "age": 27,
  "country": "USA"
};

if (jsonData.age > 25 && jsonData.country === "USA") {
  console.log(jsonData);
}

위의 예제에서는 jsonData 객체의 age가 25보다 크고 country가 “USA”인지를 검사하여 조건에 맞는 경우에만 객체를 출력합니다.

3. 라이브러리 사용하기

더 복잡한 필터링 작업을 수행하려면, 자바스크립트 라이브러리를 사용하는 것도 좋은 방법입니다. 예를 들어, Lodash 라이브러리의 _.filter() 메소드를 사용하여 JSON 객체를 필터링할 수 있습니다.

const jsonData = [
  { "name": "John", "age": 27 },
  { "name": "Catherine", "age": 32 },
  { "name": "Michael", "age": 45 },
  { "name": "Emily", "age": 22 }
];

const filteredData = _.filter(jsonData, item => item.age > 30);
console.log(filteredData);

위의 예제에서는 Lodash 라이브러리의 _.filter() 메소드를 사용하여 age가 30보다 큰 객체들만 필터링합니다.

JSON 데이터를 필터링하는 방법에 대한 간단한 예제들을 살펴보았습니다. 자바스크립트에서 JSON 객체를 조건에 맞게 필터링하여 원하는 결과를 추출할 수 있으며, 필요에 따라 다양한 방법을 사용할 수 있습니다.