algorithm

JadenCase 문자열 만들기

nana-log 2023. 8. 28. 07:47

수정 전

function solution(s) {
    var answer = '';
    s.split(' ').map((el)=>{
        answer += el[0].toUpperCase()+el.slice(1).toLowerCase()+' '
    })
    return answer.trim();
}

아래의 오류가 발생한다

Uncaught TypeError: Cannot read properties of undefined (reading 'toUpperCase')
    at <anonymous>:4:25
    at Array.map (<anonymous>)
    at solution2 (<anonymous>:3:18)
    at <anonymous>:1:1

map() 함수에서 각 el에 대해 첫 글자를 대문자로 바꾸려고 시도(el[0].toUpperCase())
하지만 el이 빈 문자열일 경우('') 오류가 발생한다
왜냐하면 빈 문자열에는 인덱스 0의 위치에 있는 문자가 없기 때문이다

 

수정 후

function solution(s) {
    var answer = '';
    let arr = s.split(' ').map((el)=>
        el?el[0].toUpperCase()+el.slice(1).toLowerCase() : '' )
    answer = arr.join(' ');
    return answer;
}