CSS 속성을 알고 text-transform: capitalize
있지만 누구든지 Javascript를 사용하여 복제하는 데 도움을 줄 수 있습니까?
각 단어의 첫 글자가 대문자로 된 문자열을 반환하는 함수에 인수를 전달하고 싶습니다.
나는 여기까지 왔지만 문자열 배열을 덩어리로 나누려고 노력하고 있습니다.
function upper(x){
x = x.split(" ");
// this function should return chunks but when called I'm getting undefined
Array.prototype.chunk = function ( n ) {
return [ this.slice( 0, n ) ].concat( this.slice(n).chunk(n) );
};
x = x.chunk;
}
upper("chimpanzees like cigars")
청크 후에 각 청크를 첫 번째 문자와 나머지 문자로 다시 분할하고 첫 번째 문자에 사용 .toUpperCase()
하고 나머지와 다시 결합한 다음 다시 청크를 문자열에 결합해야한다고 생각합니다.
이 작업을 수행하는 더 간단한 방법이 있습니까?
이 map
기능은 이것에 완벽합니다.
w[0].toUpperCase()
: 각 단어의 첫 글자를 대문자로 표시합니다.
w.slice(1)
: 두 번째 문자의 문자열을 반환합니다.
EDGE 케이스
사용자가 문자열을 입력하지 않으면 map
함수가 작동하지 않고 오류가 발생합니다. 사용자가 실제로 입력했는지 확인하여이를 방지 할 수 있습니다.
var userInput = prompt("Enter a string");
var capitalizedString = userInput == "" ? "Invalid String" :
userInput.split(/\s+/).map(w => w[0].toUpperCase() + w.slice(1)).join(' ');
console.log(capitalizedString);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다