(다시 할 필요🎯)JavaScript | pre course 28-Array methods(+moreThan100, formatData)

태현·2021년 3월 27일
0
post-thumbnail

🙋 목표: 자바스크립트 기초를 공부하고 부족한 부분을 채우자.

1. Array method


🙌 arow function을 가장 많이 사용할 때는 콜백함수를 사용할 때이다.

콜백함수 는, 인자로 전달되는 함수를 말한다.

arrow function을 조금 공부하기 위해서 배열의 반복문으로 사용되는 map(), forEach() 메소드를 같이 적용시켜보자.

2. Array.map()


map 메소드는 배열을 반복해 주는데, 콜백함수에서 return한 값으로 매(each) 요소를 수정한다.

수정! 수정이 가장 큰 포인트다.

map 메소드의 return 값은 수정된 값으로 다시 생성된 배열이다.

const arr = ['🚀', '🙋🏻‍♀️', '🧯', '🚒'];
arr.map((arr) => console.log(arr));

map 메소드에 인자로 넘어간 함수를 원래대로 표현한다면

const arr = ['🚀', '🙋🏻‍♀️', '🧯', '🚒'];
arr.map(function arr1(arr) {
    console.log(arr)
});

3. Array.forEach(), 닷닷닷(...), of


forEachfor 대신 사용하는 반복문이다.

그 외에도 배열을 반복해서 하나씩 출력해주는 방법이 있다. 코드로 확인해 보자.

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("🍎","🍊","🍌","🍀")

보기에는 다 유용할 것이다. 현업에 가면 어디서 어떻게 쓰일지 모르기 때문에 다 알고 넘어가도록 하자.

4. Assignment


모두 map 메서드와 arrow function을 사용하자.

1. moreThan100 함수를 구현하자.

  • 숫자로 구성된 배열을 인자로 받는다

  • 100 보다 크거나 같으면, true 를

  • 100 보다 작으면 false 로 요소를 변경하여, 새로운 배열을 return 한다.

  • 예를 들어,

    nums(input)가
    [100, 9, 30, 7]
    이라면
    
    return은
    [true, false, false, false]
    

2. formatDate 함수를 구현하자.

  • 날짜가 담긴 배열을 인자로 받는다.

  • 날짜의 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) 요소를 수정한다는 것을 잊지말자.🚀

  • 2번 문항
//방법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]}`;
    });
}
profile
안녕하세요, 지식을 공유하는 공간입니다.

0개의 댓글