JWOOKJ 2021. 1. 4. 21:59

Array.map(callback())

==> Array의 모든 요소들을 순회하며 callback함수를 실행한 결과물을 새로운 배열로 반환한다.

let words = ["ha", "hi", "he"];
let numbers = words.map((i) => i + "ho");

console.log(numbers)
//[ 'haho', 'hiho', 'heho' ]

callback 함수는 요소값, 요소의 인덱스, map을 호출한 원본배열을 전달받는다.

let words = ["ha", "hi", "he"];
let numbers = words.map((i, index) => i = index);

console.log(numbers)
//[ 0, 1, 2 ]

*map이 처리할 요소의 범위는 첫 callback을 호출하기 전에 정해진다. 

*map을 호출한 배열의 중간이 비어있는 경우, 결과 배열 또한 동일한 인덱스를 빈 값으로 유지

let words = ["ha", "hi",  , "he"];
let numbers = words.map((i, index) => i = index);

console.log(numbers)
//[ 0, 1, <1 empty item>, 3 ]