문제
문자열을 입력받아 문자열을 구성하는 각 단어의 첫 글자가 대문자인 문자열을 리턴해야 합니다.
입력
인자 1 : str
string 타입의 공백이 있는 알파벳 문자열
출력
string 타입을 리턴해야 합니다.
주의 사항
단어는 공백으로 구분합니다.
연속된 공백이 존재할 수 있습니다.
빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 합니다.
입출력 예시let output1 = letterCapitalize('hello world'); console.log(output1); // "Hello World" let output2 = letterCapitalize('javascript is sexy '); console.log(output2); // "Javascript Is Sexy "
function letterCapitalize(str) { // TODO: 여기에 코드를 작성합니다. // 단어는 공백으로 구분 let words = str.split(' ') for(let i=0; i<words.length; i++){ //빈 문자열을 입력받으면 빈 문자열 리턴 if(words[i].length > 0){ //각 단어의 첫 글자가 대문자인 문자열을 리턴 words[i] = words[i][0].toUpperCase() + words[i].slice(1) }} //다시 합쳐주고 리턴 str = words.join(' ') return str; }
→
slice() 메서드
는 어떤 배열의 begin부터 end까지(end 미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환하고 원본 배열은 바뀌지 않는다.
→ 아직 slice 함수를 자연스럽게 사용하지 못하는 것 같아 다시 연습해보고자 한다
(출처 : MDN)const animals = ['ant', 'bison', 'camel', 'duck', 'elephant']; console.log(animals.slice()); // expected output: Array ["camel", "duck", "elephant"] console.log(animals.slice()); // expected output: Array ["camel", "duck"] console.log(animals.slice()); // expected output: Array ["bison", "camel", "duck", "elephant"] console.log(animals.slice()); // expected output: Array ["duck", "elephant"] console.log(animals.slice()); // expected output: Array ["camel", "duck"] console.log(animals.slice()); // expected output: Array ["ant", "bison", "camel", "duck", "elephant"]
const animals = ['ant', 'bison', 'camel', 'duck', 'elephant']; console.log(animals.slice(2)); // expected output: Array ["camel", "duck", "elephant"] console.log(animals.slice(2,4)); // expected output: Array ["camel", "duck"] console.log(animals.slice(1)); // expected output: Array ["bison", "camel", "duck", "elephant"] console.log(animals.slice(-2)); // expected output: Array ["duck", "elephant"] console.log(animals.slice(2,-1));//세번째부터 끝에서 두번째 요소까지 추출 // expected output: Array ["camel", "duck"] console.log(animals.slice()); // expected output: Array ["ant", "bison", "camel", "duck", "elephant"]