map 은 callback 함수를 각각의 요소에 대해 한번씩 순회하여 그 callback 함수의 반환값을 새로운 배열로 만들어 리턴해주는 메서드이다.
const arr1 = [1,2,3,4]
const mapping = arr1.map(function (ele)){ //콜백함수의 파라미터로 arr1의 요소들이 들어감
return ele*2
}
console.log(mapping) // [2,4,6,8]
console.log(arr1) // [1,2,3,4] *원본배열은 바뀌지 않는다.
filter()는 배열 내 각 요소에 대해 한번 제공된 callback 함수를 호출해 callback 을 통해 true값만을 반환하여 새로운 배열을 생성한다.
callback 함수를 통과하지못하여 false가 된 배열요소는 그냥 건너뛰며 새로운 배열에 포함되지 않는다.
const arr = [15,2,36,64,3]
const isTenOver = arr.filter(function(ele){
return ele>10
})
console.log(isTenOver) // [15, 36, 64]
개념보완필요
#초기값이 없는경우
const arr = [1,2,3,4,5]
const sum = arr.reduce((acc,cur) => {
return acc+cur
})
console.log(sum) // 15
acc cur return값
1 2 3
3 3 6
6 4 10
10 5 15
초기값이 설정되어있지않기때문에 acc(응축값) 이 배열의 첫번째요소가 전달되어지고 cur부터 두번째 요소가 들어간다.
--------------------------
#초기값이 있는경우
const arr = [1,2,3,4,5]
const sum = arr.reduce((acc,cur) => {
return acc+cur
},10)
console.log(sum) // 25
acc cur return값
10 1 11
11 2 13
13 3 16
16 4 20
20 5 25
초기값이 설정되어있기때문에 acc(응축값)엔 초기값이 들어가고 cur엔 배열의 첫번째요소가 들어간다.