study 05.
arr.forEach(function(v, i, arr) {
console.log(v);
});
var arr = [1,2,3,4,5];
var newArr = arr.forEach(function(e, i) {
return e;
});
// undefined
var newArr = arr.map(function(v, i, arr) {
return condition;
});
var arr = [1, 2, 3, 4, 5];
var newArr = arr.map(function(v, i, arr) {
return v + 1;
});
// 2, 3, 4, 5, 6
var arr = ["a", "b", "c", "d"];
arr.forEach(letter => {
console.log(letter);
});
// a
// b
// c
// d
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.map(num => num * 2).filter(num => num > 5);
// arr2 = [6, 8, 10]
map() 메소드는 Array안에 요소들을 호출한다. forEach()와 다른점은 값을 사용하고 Array와 동일한 사이즈의 새로운 Array을 반환한다.
결론적으로 map을 사용하면, 결과값을 배열로 받을수 있다. 함수 안의 결과값을 계산하지 않고, 배열로 받기 위해서는 map을 사용하는 게 유리하다.
map()은 메모리를 할당하고 리턴 값을 저장하지만, forEach()는 리턴 값을 버리고 항상 undefined를 리턴한다.
forEach()는 콜백함수로 현재 Array를 변환할 수 있으며, 대신에 map()은 새로운 Array를 리턴한다.