Javascript & Typescript

[Javascript] map() 메소드

zubetcha 2021. 11. 11. 03:05

 

 

map() 메소드

 

 

  • 형태: arr.map(function(currentValue, index, array) {실행할 함수 내용; return 새로운 배열에 넣어 줄 요소 })
  • 배열 내의 모든 요소 하나 하나에 순서대로 콜백함수를 실행한 결과를 모아서 새로운 배열을 반환
  • callback 함수는 1) 처리할 요소, 2) 처리할 요소의 인덱스, 3) map을 호출한 배열 의 세 가지 파라미터를 가짐

 

  • 처리할 요소 current Valuerequired
  • 처리할 요소의 인덱스 Ioptional
  • map을 호출한 배열 arrayoptional

 

  • map() 메소드는 호출한 배열의 값을 변형하지 않지만 콜백함수에 의해서 변형될 수는 있음
  • map() 시작한 이후 배열에 추가되는 요소들은 콜백함수의 적용을 받지 않음

 

 

function solution(s) {
    let wordList = s.split(" ");
    return wordList.map(function(el) {
        let word = '';
        for (let i = 0; i < el.length; i++) {
            i % 2 == 0 ? word += el[i].toUpperCase() : word += el[i].toLowerCase();
        }
        return word;
    }).join(" ");
};


// s = "try hello world"
// let wordList = s.split.(" ");
// wordList = ['try', 'hello', 'world']
// map 대소문자 치환 콜백함수
// 1-1. 'try' => 'TrY'
// 1-2. wordList = ['TrY', 'hello', 'world']
// 2-1. 'hello' => 'HeLlO'
// 2-2. wordList = ['TrY', 'HeLlO', 'world']
// 3-1. 'world' => 'WoRlD'
// 3-2. wordList = ['TrY', 'HeLlO', 'WoRlD']
// wordList = ['TrY', 'HeLlO', 'WoRlD']
// wordList.join(" ") = 'TrY HeLlO WoRlD'