Js/Javascript

[JS] forEach, map, filter, reduce

jjikky 2023. 2. 22. 17:58
반응형

forEach

forEach()메서드는 주어진 함수를 한번씩 각각의 array 요소들에게 실행한다.

for문 대신 사용하면 될 듯하다.

a = [10, 11, 12, 13, 14, 15];
a.forEach((currentElement, index, array) => {
	console.log(currentElement, index, array)
 });

 

 

map

map()메서드는 배열(array)내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 가진 새로운 배열을 만들어낸다.

 

예시 )

a = [10, 11, 12, 13, 14, 15];
let result = a.map((currentElement, index, array) => {
	return currentElement * currentElement;
})

 

 

주의 ) map은 원본 배열의 길이를 유지한다.  

a = [10, 11, 12, 13, 14, 15];
let result = a.map((currentElement, index, array) => {
	if (currentElement % 2 == 0)
		return currentElement * currentElement;
})

 

filter

filter()메서드는 주어진 function에 속한 조건을 통과한 요소들을 새로운 배열로 반환한다.

a = [10, 11, 12, 13, 14, 15];
let result = a.filter((currentElement, index, array) => {
	return currentElement % 2 == 0;
})

 

 

reduce

reduce()메서드는 배열의 각 요소에 대해 주어진 reducer 함수를 실행하고, 하나의 결과값을 반환한다.

a = [10, 11, 12, 13, 14, 15];

let result = a.reduce((accumulator, currentElement, index, array) => { //accumulator : 누산기
	return accumulator + currentElement
}, 0); // 초기값

 

반응형