JS) forEach, map, reduce

kangdari·2020년 3월 30일
0
post-custom-banner

forEach

그냥 for문과 같음

MDN - Array.prototype.forEach()

arr.forEach(callback(currentvalue[, index[, array]])[, thisArg])

  • callback : funciton ( currentvalue[, index[, array]] )
    * currentvalue: 현재 값
    • index : 현재 인덱스
    • array: 원본 배열
  • thisArg : this에 할당할 대상, 생략시 global 객체
const arr = [1, 2, 3];
arr.forEach(( e, i, arr ) => console.log(e, i, arr))

// 1 0 [ 1, 2, 3 ]
// 2 1 [ 1, 2, 3 ]
// 3 2 [ 1, 2, 3 ]

map

for문을 돌려 새로운 배열을 반환함

MDN - Array.prototype.map()

let new_array = arr.map(function callback( currentValue[, index[, array]]) {
// return element for new_array
}[, thisArg])

  • callback : function( currentValue[, index[, array]])
    * currentValue: 현재 값
    • index: 현재 인덱스
    • array: 원본 배열

reduce

for문을 돌려 최종적으로 다른 무언가를 만듦.

MDN - Array.prototype.reduce()

arr.reduce(callback( accumulator, currentValue[, index[, array]] )[, initialValue])

  • callback : function ( accumulator, currentValue[, index[, array]] )
    * accumulator: 누적된 계산 값
    • currentValue: 현재 값
    • index: 현재 인덱스
    • array: 원본 배열
  • initialValue : 초기 값
const arr = [1, 2, 3, 4, 5];
const res = arr.reduce(function(accumulator, currentValue, currentIndex, array) {
    return accumulator + currentValue
  })

console.log(res); // 15
post-custom-banner

0개의 댓글