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

JSON (JavaScript Object Notation)은 자바스크립트에서 데이터를 교환하기 위한 경량 데이터 형식입니다. 자바스크립트에서는 JSON 객체를 다루는데 많이 사용되며, 때로는 JSON 데이터를 필터링하여 특정 조건에 맞는 데이터만 추출해야 할 때가 있습니다.

이 블로그 포스트에서는 자바스크립트에서 JSON 객체를 필터링하는 몇 가지 방법을 살펴보겠습니다.

1. for 문을 사용한 필터링

가장 기본적인 방법은 for 루프를 사용하여 JSON 객체를 순회하고 원하는 조건에 따라 필터링하는 것입니다. 아래는 data라는 JSON 객체에서 age가 30 이상인 사용자만 추출하는 예제입니다.

let data = [
  { name: "Alice", age: 25 },
  { name: "Bob", age: 35 },
  { name: "Charlie", age: 28 },
  { name: "David", age: 31 }
];

let filteredData = [];

for (let i = 0; i < data.length; i++) {
  if (data[i].age >= 30) {
    filteredData.push(data[i]);
  }
}

console.log(filteredData);

출력 결과:

[
  { name: "Bob", age: 35 },
  { name: "David", age: 31 }
]

2. filter 메서드를 사용한 필터링

ES5부터 도입된 filter 메서드를 사용하면 더 간편하게 JSON 객체를 필터링할 수 있습니다. filter 메서드는 배열의 각 요소에 대해 주어진 함수를 호출하고, 함수의 반환값이 true인 요소들로만 새로운 배열을 생성합니다.

이전 예제를 filter 메서드를 사용하여 다시 작성해보겠습니다.

let data = [
  { name: "Alice", age: 25 },
  { name: "Bob", age: 35 },
  { name: "Charlie", age: 28 },
  { name: "David", age: 31 }
];

let filteredData = data.filter(item => item.age >= 30);

console.log(filteredData);

출력 결과는 이전과 동일합니다.

3. Lodash 라이브러리를 사용한 필터링

Lodash는 자바스크립트의 유용한 유틸리티 라이브러리로, JSON 객체를 다루는데도 많이 사용됩니다. Lodash는 filter 메서드와 같은 유용한 함수들을 제공하여 조건에 따라 JSON 객체를 필터링할 수 있게 도와줍니다.

Lodash를 사용하여 앞선 예제를 다시 작성해보겠습니다.

const _ = require('lodash');

let data = [
  { name: "Alice", age: 25 },
  { name: "Bob", age: 35 },
  { name: "Charlie", age: 28 },
  { name: "David", age: 31 }
];

let filteredData = _.filter(data, item => item.age >= 30);

console.log(filteredData);

출력 결과는 이전과 동일합니다.

결론

자바스크립트에서 JSON 객체를 필터링하는 방법에 대해 알아보았습니다. for 문을 사용한 필터링은 가장 기본적인 방법이지만, filter 메서드를 사용하면 더 간편하게 필터링할 수 있습니다. 또한 Lodash와 같은 유틸리티 라이브러리를 활용하면 강력한 필터링 기능을 제공받을 수 있습니다.

자바스크립트에서 JSON 객체를 다루는 경우에는 필터링이 자주 필요한 작업 중 하나이므로, 이러한 필터링 기법을 잘 숙지하고 활용하는 것이 중요합니다.