🙋 목표: 자바스크립트 기초를 공부하고 부족한 부분을 채우자.
🙌 arow function을 가장 많이 사용할 때는 콜백함수를 사용할 때이다.
콜백함수
는, 인자로 전달되는 함수를 말한다.
arrow function을 조금 공부하기 위해서 배열의 반복문으로 사용되는 map()
, forEach()
메소드를 같이 적용시켜보자.
map
메소드는 배열을 반복해 주는데, 콜백함수에서 return한 값으로 매(each) 요소를 수정한다.
수정! 수정이 가장 큰 포인트다.
map
메소드의 return 값은 수정된 값으로 다시 생성된 배열이다.
const arr = ['🚀', '🙋🏻♀️', '🧯', '🚒'];
arr.map((arr) => console.log(arr));
map
메소드에 인자로 넘어간 함수를 원래대로 표현한다면
const arr = ['🚀', '🙋🏻♀️', '🧯', '🚒'];
arr.map(function arr1(arr) {
console.log(arr)
});
forEach
는 for
대신 사용하는 반복문이다.
그 외에도 배열을 반복해서 하나씩 출력해주는 방법이 있다. 코드로 확인해 보자.
function printAll(...args) {
for (let i = 0; i < args.length; i++) {
console.log(args[i]);
}
for (const arg of args) {
console.log(arg);
}
args.forEach((arg)=> console.log(arg));
}
printAll("🍎","🍊","🍌","🍀")
보기에는 다 유용할 것이다. 현업에 가면 어디서 어떻게 쓰일지 모르기 때문에 다 알고 넘어가도록 하자.
모두 map 메서드와 arrow function을 사용하자.
숫자로 구성된 배열을 인자로 받는다
100 보다 크거나 같으면, true
를
100 보다 작으면 false
로 요소를 변경하여, 새로운 배열을 return 한다.
예를 들어,
nums(input)가
[100, 9, 30, 7]
이라면
return은
[true, false, false, false]
날짜가 담긴 배열을 인자로 받는다.
날짜의 data type은 string이며, 보내는 날짜 타입은 'YYYY-MM-DD' 이다.
해당 날짜의 형식을 'YYYY년 MM월 DD일' 로 바꿔서, 새로운 배열을 return 하자.
예를 들어,
dates(input)가
['2019-03-21', '2019-04-21', '2019-05-21']
이라면
return은
['2019년 03월 21일', '2019년 04월 21일', '2019년 05월 21일']
1번 문항
const moreThan100 = nums =>
nums.map(nums => {
if (nums >= 100) {
return true;
} else {
return false;
}
});
map
메소드는 배열을 반복해 주는데, 콜백함수에서 return한 값으로 매(each) 요소를 수정한다는 것을 잊지말자.🚀
//방법1
const formatDate = dates => {
const result = dates.map(dates => {
const dateArr = dates.split('-');
return `${dateArr[0]}년 ${dateArr[1]}월 ${dateArr[2]}일`;
});
return result;
}
//방법2
const formatDate = dates => {
return result = dates.map(dates => {
const dateArr = dates.split('-');
return `${dateArr[0]}년 ${dateArr[1]}월 ${dateArr[2]}일`;
});
}