@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 варианта)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 20:43
20000 руб./за проект
19 апр. 2024, в 20:11
500 руб./за проект