[javascript] 자바스크립트 배열 필터링과 매핑을 동시에 수행하기

자바스크립트에서 배열에 대해 필터링과 매핑을 동시에 수행해야 할 때가 있습니다. 이런 경우에는 배열의 filter 함수와 map 함수를 조합하여 수행할 수 있습니다. 이 블로그에서는 이러한 작업을 어떻게 수행하는지 예제를 통해 살펴보겠습니다.

필터링과 매핑을 각각 수행하는 방법

먼저, 기존의 방식으로 배열 필터링과 매핑을 각각 수행하는 방법을 살펴보겠습니다.

const numbers = [1, 2, 3, 4, 5];

// 필터링하기
const evenNumbers = numbers.filter(num => num % 2 === 0);

// 매핑하기
const squaredNumbers = numbers.map(num => num * num);

console.log(evenNumbers);  // [2, 4]
console.log(squaredNumbers);  // [1, 4, 9, 16, 25]

위의 코드에서 filter 함수는 숫자 배열에서 짝수만 필터링하여 evenNumbers에 저장하고, map 함수는 각 숫자를 제곱하여 squaredNumbers에 저장합니다.

필터링과 매핑을 동시에 수행하는 방법

이번에는 필터링과 매핑을 동시에 수행하는 방법을 살펴보겠습니다.

const numbers = [1, 2, 3, 4, 5];

const evenSquaredNumbers = numbers.filter(num => num % 2 === 0).map(num => num * num);

console.log(evenSquaredNumbers);  // [4, 16]

위의 코드에서는 filter 함수로 짝수를 필터링한 후에 map 함수로 각 숫자를 제곱하여 evenSquaredNumbers에 저장합니다.

이렇게 하면 필터링과 매핑을 한 번에 수행할 수 있으며, 중간 배열을 따로 정의하지 않아도 됩니다.

마무리

이렇듯 자바스크립트의 배열에서 필터링과 매핑을 동시에 수행하는 방법을 알아보았습니다. 이를 응용하여 복잡한 데이터 처리를 보다 간결하게 수행할 수 있을 것입니다.

참고자료: