배열 다루는 함수 정리

Dansoon·2022년 1월 1일
0

이미지 출처 : geeksforgeeks

forEach

const array = [1,2,3,4,5,6]

array.forEach(element=>console.log(element));

console.log(array)
//a
//b
//c

매개변수
forEach()함수는 주어진 callback을 배열에 있는 각 요소에 대해 오름차순으로 한번씩 실행한다.
예외처리가 없으면 forEach는 요소의 수만큼 반복한다.



map

const array =[1,2,3,4,5]

const mapItem = array.map(x=>x*2)

console.log(mapItem)
// array = [1,4,9,16,25]

map 함수는 기존 배열을 새로운 배열 요소로 생성한다.
기존 함수의 length만큼 배열을 return하기 때문에 callback 함수의 this 값이 아닐 경우 undifined를 포함해서 배열을 return한다.



filter

const numbers = [1,2,3,4,5,6,7,8]

const result = numbers.filter(number => 
  if(number%2===0)return number
)

console.log(result)
//[2,4,6,8]

filter 함수도 마찬가지로 기존 배열을 새로운 배열 요소로 생성한다. 하지만 map과 달리 callback함수의 this값만 포함해서 원하는 배열을 생성해 가져올 수 있다.



reduce

let array = [1,2,3,4,5,6]
array.reduce((item,v)=>{
  return item+v
},0)

console.log(array)
//15

reduce는 callback함수의 this값을 앞에서 부터 실행해준다. 0+1의 결과를 v에 담은 후 그값을 뒤의값과 더해준다. v는 결과값을 담고 최종적으로는 this값을 실행한 최종값을 return한다.
직관적으로 풀어 쓰자면
0+1=1, 1+2=3, 3+3=6, 6+4=10, 10+5=15
이렇게 앞에서부터 연산한 최종 결과만을 return한다.

profile
front engineer🧑🏻‍💻

0개의 댓글