Javascript Basic

John Doe ·

887 Views

1. map & forEach method - Why 9?

[,,,2].map((v,i)=> v * i).forEach((v, i) => console.log(v + i));

1)

let x = [,,,2].map((v,i)=> v * i);

map : Array.map() 메서드는 콜백 함수를 이용해 각각의 요소에 호출해서 그 값을 변환할 수 있게 해준다. 즉 콜백 함수는 배열의 각 요소에 실행된다. 여기서 매개변수 v 는 처리할 현재 요소, i 는 처리할 현재 요소의 인덱스다. 첫 번째, 두 번째, 세 번째 요소는 비어있고 네 번째 요소에만 2가 들어있기 때문에 네 번째 요소의 값은 2 * 3 = 6이 된다. 따라서 결과는 [,,,6] 이다.

2)

x.forEach((v, i) => console.log(v + i));

JavaScript의 forEach 메서드도 배열을 순회하는 여러 방법 중 하나다. 여기서도 마찬가지로 매개변수 v 는 처리할 현재 요소, i 는 처리할 현재 요소의 인덱스다. 첫 번째, 두 번째, 세 번째 요소는 비어있으므로 실행값이 없고 네 번째 요소에만 6이 들어있기 때문에 결과는 6 + 3 = 9 가 나오게 된다.

javascript