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 객체를 다루는 경우에는 필터링이 자주 필요한 작업 중 하나이므로, 이러한 필터링 기법을 잘 숙지하고 활용하는 것이 중요합니다.