Показать сообщение отдельно
  #10 (permalink)  
Старый 23.10.2023, 18:05
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Короткое решение через регулярку:

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('доброго дня уважаемый'));
Ответить с цитированием