Study JS for me/Algorithm
algorithm 연습4
be well
2019. 4. 27. 14:36
문제. 인자로 받는 문자열의 첫 글자들을 대문자로 변경한 뒤 리턴.
Ex) input : "hello world" => output : "Hello World"
input : "javascript is sexy" => output : "Javascript Is Sexy"
해결방안
1. 공백으로 구분된 단어를 배열로 나눔.
2. 첫 글자만 toUpperCase()를 사용해서 대문자로 변경.
3. 다시 문자열로 합친 뒤 리턴.
split(' ') 메소드를 써서 공백으로 구분 된 단어 요소로 나누어준다.
var letterCapitalize = function(str) {
str = str.split(' ');
map() 함수를 이용해서 elements의 0번째 요소를 대문자로 변경하고 남은 elements에서 0번째 요소를 뺀 복사본을 합쳐준다.
다시 join(' ')을 사용해서 문자열로 합쳐준다.
var result = str.map((ele)=>{
return ele[0].toUpperCase() + ele.slice(1)
})
return result.join(' ')
}
결과확인
처음 이 문제를 풀 때는 반복문을 써서 각 요소에 접근한 뒤 i의 0번째를 모두 변경한 뒤 join(' ')으로 합치는 방식으로
해결했는데 동기분이 제시해주신 방법을 써서 따라해보니 훨씬 가독성있고 좋은 코드로 해결한 것 같다. 어렵다는 선입견에
잘 사용하지 못했던 map함수와도 조금 친해진 기분이다.