[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
에 저장합니다.
이렇게 하면 필터링과 매핑을 한 번에 수행할 수 있으며, 중간 배열을 따로 정의하지 않아도 됩니다.
마무리
이렇듯 자바스크립트의 배열에서 필터링과 매핑을 동시에 수행하는 방법을 알아보았습니다. 이를 응용하여 복잡한 데이터 처리를 보다 간결하게 수행할 수 있을 것입니다.
참고자료: