Javascript

반복문에 활용할 수 있는 자바스크립트 고차함수들

John' 2023. 12. 2. 20:04

인간은 망각의 동물이다. 특정한 행동이나 생각을 자주 하지 않으면 우리 뇌 속에서는 신경의 가지치기 현상이 일어난다고 한다. 우리가 어떤 생각, 기분, 행동을 수행하지 않으면 뇌는 그와 연관된 뉴런들을 발화시키지 않는데, 그 결과 그러한 생각, 기분, 행동이 점점 약해지다가 결국 시들어버리고 잊게 되는 것을 신경 가지치기라고 한다. 그렇기 때문에 우리는 초등학교 시절처럼 리코더를 연주할 수 없는거고, 곡면의 부피를 구하는 적분 공식이나 근의 공식등에 대해 더는 기억하지 못하는 것이다. 쉽건, 어렵건 지금 나는 무조건 많이 생각하고 자꾸 써보고 사용해보는 것 밖에 방도가 없다 생각한다.

 

 

JavaScript에서 반복문을 수행하는 데 사용되는 여러 가지 고차 함수들이 있다. 이러한 함수들은 배열에 대해 반복하거나 조작할 때 특히 유용한데 아래에는 주요한 고차 함수들과 간단한 설명이 포함되어 있다.

 

 



1. forEach 함수

 

 

배열의 각 요소에 대해 주어진 함수를 실행한다.

const numbers = [1, 2, 3, 4, 5];
numbers.forEach((num) => console.log(num));



2. map 함수

배열의 각 요소에 대해 주어진 함수를 호출하고, 그 결과를 새로운 배열로 반환한다.

const numbers = [1, 2, 3, 4, 5];
const squaredNumbers = numbers.map((num) => num * num);



3. filter 함수

주어진 조건을 만족하는 배열 요소만으로 새로운 배열을 생성한다.

const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter((num) => num % 2 === 0);



4. reduce 함수

배열 요소를 왼쪽에서 오른쪽으로 하나씩 누적하면서 주어진 함수를 실행하고 최종 결과를 반환한다.

const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, num) => acc + num, 0);

 

 

5.some 함수

배열 요소 중 하나라도 주어진 조건을 만족하면 true를 반환한다.

const numbers = [1, 2, 3, 4, 5];
const hasEven = numbers.some((num) => num % 2 === 0);

 

 

6. every 함수

배열의 모든 요소가 주어진 조건을 만족하면 true를 반환한다.

const numbers = [2, 4, 6, 8, 10];
const allEven = numbers.every((num) => num % 2 === 0);

 

 

7. find 함수

주어진 조건을 만족하는 첫 번째 배열 요소를 반환합니다. 없으면 undefined를 반환한다.

const numbers = [1, 2, 3, 4, 5];
const firstEven = numbers.find((num) => num % 2 === 0);

 



이러한 고차 함수들은 코드를 간결하게 작성하고 가독성을 높이며, 반복문을 사용하지 않고도 배열을 효과적으로 다룰 수 있도록 도와준다.