[javascript] 필터링된 데이터를 특정 형식으로 변환하는 방법

반복적인 작업으로 인해 데이터를 필터링하고 원하는 형식으로 변환해야 할 때가 있습니다. 이런 상황에서 JavaScript의 map() 함수를 사용하여 데이터를 쉽게 변환할 수 있습니다.

1. map() 함수 소개

JavaScript의 배열 객체에는 map() 메서드가 있으며, 이를 사용하면 배열 내의 모든 요소에 대해 특정 함수를 호출한 후 그 결과로 새로운 배열을 생성할 수 있습니다. 즉, 기존 배열을 수정하지 않고 각 요소를 변환하여 새로운 배열을 만들 수 있습니다.

2. 데이터 필터링 및 변환 예제

가령, 아래와 같은 배열이 있다고 가정해봅시다.

let originalData = [
  { name: 'Alice', age: 25, salary: 50000 },
  { name: 'Bob', age: 30, salary: 60000 },
  { name: 'Chris', age: 35, salary: 70000 }
];

위 배열에서 나이(age)가 30 이상인 사용자들의 이름과 연봉을 추출하고 싶다면, map() 함수를 이용하여 다음과 같이 할 수 있습니다.

let filteredData = originalData
  .filter(person => person.age >= 30)
  .map(person => ({ name: person.name, salary: person.salary }));

위 예제에서 먼저 filter() 함수를 사용하여 나이가 30 이상인 사용자들을 필터링하고, 그 다음에 map() 함수를 이용하여 해당 사용자들의 이름과 연봉만을 추출한 새로운 배열을 생성하게 됩니다.

3. 왜 map() 함수를 사용해야 하는가?

만일 이러한 데이터 변환 작업을 수동으로 처리해야 한다면, 반복문과 조건문을 사용하여 각 요소를 확인하고 원하는 형식으로 새로운 배열을 만들어야 합니다. 그러나 map() 함수를 사용하면 이러한 작업을 간단하게 처리할 수 있기 때문에 코드가 보다 간결하고 가독성이 좋아집니다.

4. 결론

JavaScript의 map() 함수는 데이터 필터링과 변환 작업을 보다 효율적으로 처리할 수 있도록 도와줍니다. 이를 통해 코드의 간결성과 가독성을 높일 수 있으며, 데이터 처리 작업을 보다 쉽게 수행할 수 있습니다.

참조: