Короткое решение через регулярку:
function toCapizalize(value) {
return value.replace(/(^|\s)(.)/g, (_, a, b) => a + b.toUpperCase());
}
console.log(toCapizalize('доброго дня уважаемый'));
Простое и быстрое решение через цикл:
function toCapizalize(value) {
let finalValue = '';
let prevChar = ' ';
for (let i = 0; i !== value.length; i++) {
const char = value[i];
if (prevChar === ' ') {
finalValue += char.toUpperCase();
} else {
finalValue += char;
}
prevChar = char;
}
return finalValue;
}
console.log(toCapizalize('доброго дня уважаемый'));
Еще можно так поизвращаться:
function toCapizalize(value) {
const fragments = value.split(/(?:^|\s)(.)/)
.map((item, index) => index % 2 !== 0 ? ' ' + item.toUpperCase() : item);
return fragments.join('').trim();
}
console.log(toCapizalize('доброго дня уважаемый'));