JSFiddle - React, Tailwind, and code Playground
JavaScript
function initCap(s) {
var result = '';
if ((typeof (s) === 'undefined') || (s == null)) {
return result;
}
s = s.toLowerCase();
var words = s.split(' ');
for (var i = 0; i < words.length; ++i) {
result += (i > 0 ? ' ' : '') + words[i].substring(0, 1).toUpperCase() + words[i].substring(1);
}
return result;
}
console.log(initCap('ONE')); //one word
console.log(initCap('ONE TWO')); //two words
console.log(initCap('ONE TWO THREE')); //three words
console.log(initCap('One Two Three Four')); //already looked fine
console.log(initCap(null)); //null
console.log(initCap('')); //no words
console.log(initCap(' ')); //several spaces
console.log(initCap('ONE TWO THREE')); //many spaces between each