Front End/Javascript

javascript map, forEach ( break, async await )

YJ_SW 2021. 3. 9. 11:37
728x90

map

  • map object 내의 key / value 쌍의 개수만큼 주어진 함수를 순서대로 실행함
  • 함수의 결과를 모아 새로운 배열을 반환
  • return 필수
let arr = ['a','b','c','d']
arr.map((currentValue,index,array) => { return currentValue + index; })

결과

 ["a0", "b1", "c2", "d3"]

forEach

배열 요소마다 한 번씩 함수를 실행함

let arr = [1,2,3,4]
arr.forEach((num, index) => {
    return arr[index] = num * 2;
})

결과

[2,4,6,8]

map, forEach break 걸 수 있을까?

배열을 순회하므로 중간에 break문을 사용할 수 없다.

-> some을 활용

map,forEach async await 보장 해줄까?

forEach와 map은 async await가 작동되도록 반복문이 기다려주지 않는다.
await 응답이 올 때까지 기다려주지 않음

ex) forEach로 1,2,3,4 실행 순서는 보장해줌
1 끝나면 2
2 끝나면 3
3 끝나면 4
하지만
각각이 await 끝나는 건 보장해주지 않음

728x90