@LebedevImagine

Как поменять элемент строки?

Только изучаю JS. Встал на задаче "поменять первую букву строки с маленькой на большую". В других ЯП все должно работать железо (должно же?).

str = "border";
console.log(str[0]); // => b, все окей

str[0] = 'B';
console.log(str[0]); // => до сих пор b, хотя, по логике, должно быть B
console.log(str); // => border, хотя должно быть Border.

Помогите найти ошибку. Как лучше следует решить задачу?
  • Вопрос задан
  • 282 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Никак. Строки в js иммутабельны. Создавайте новую:

str = str[0].toUpperCase() + str.slice(1);
// или
str = str.replace(/^./, m => m.toUpperCase());
// или
str = Array.from(str, (n, i) => i ? n : n.toUpperCase()).join('');
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
function foo(str){
return str.charAt(0).toUpperCase() + str.slice(1);
//или
//return str[0].toUpperCase() + str.slice(1);
}
str = "border";
console.log(foo(str));

Вот функция которая поднимает регистр первому символу(2 варианта)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы