프로그래머스 - 이상한 문자 만들기

문제

image.png

간단하게 말하자면, 공백포함 홀수는 대문자, 짝수는 소문자로 만들어야하는 문제..

처음에 if를 써야되나 이리저리해봤는데 안되더라 ㅠ

아래와 같이 map안에 map을 쓰면서 해야되던데.. 보고나면 이해는 된다. 그정도가 어디야

function solution(s) {     // "try hello world"
    return s.split(' ')    // ["try", "hello", "world"]
    .map(word => word.split('')   // [["t","r","y"],["h","e","l","l","o"],["w","o","r","l","d"]]
        .map((letter, index)=> index % 2 == 0 ? letter.toUpperCase() : letter.toLowerCase())
            //  [["T","r","Y"],["H","e","L","l","O"],["W","o","R","l","D"]]
         .join('')
             // ["TrY","HeLlO","WoRlD"]
        ).join(' ')
             // "TrY HeLlO WoRlD"
}