function titleCase(str) {
str = str.toLowerCase();
let mass = str.split(' ');
for(let i in mass)
{
mass[i][0] = mass[i][0].toUpperCase();
}
return mass;
}
titleCase("I'm a little tea pot");
const titleCase = str => str
.toLowerCase()
.split(' ')
.map(n => n[0].toUpperCase() + n.slice(1))
.join(' ');
const titleCase = str => str
.toLowerCase()
.replace(/(?<=^| )./g, m => m.toUpperCase());
const titleCase = str => Array
.from(str, (n, i) => n[i && str[i - 1] !== ' ' ? 'toLowerCase' : 'toUpperCase']())
.join``;
mass[i][0]
Другим способом (введённым в ECMAScript 5) является рассмотрение строки как массивоподобного объекта, в котором символы имеют соответствующие числовые индексы:return 'кот'[1]; // вернёт "о"
При доступе к символам посредством нотации с квадратными скобками, попытка удалить символ, или присвоить значение числовому свойству закончится неудачей, поскольку эти свойства являются незаписываемыми и ненастраиваемыми. Смотрите документацию по методу Object.defineProperty() для дополнительной информации.
const titleCase = str => str
.toLowerCase()
.split(' ')
.map(word => {
const chararr = word.split('');
chararr[0] = chararr[0].toUpperCase();
return chararr.join('');
})
.join(' ');
titleCase("I'm a little pea"); // I'm A Little Pea
titleCase("I love the sky and the trees"); // I Love The Sky And The Trees