Я пытался заменить первую букву каждого слова и придумал этот фрагмент кода. Кто-нибудь знает, почему это не работает?
name = 'EFEIN DOED'
name.split(' ').map(b => {
b = b.toLowerCase();
console.info(b);
b[0] = 3;
console.info(b);
return b;
}).join(' ');
Заранее спасибо.
@АлексК. Вы правы, спасибо. Это все люди.
name.replace(/(^|\s)\w/g, "$1"+3)
также можно использовать вместо split, map and than join
Ваша общая идея верна, за исключением того, что строки неизменяемы и поэтому не могут быть отредактированы таким образом. Вот альтернатива, которая возвращает '3fein 3oed'
:
name.split(' ').map(b => '3' + b.toLowerCase().substring(1)).join(' ');
name.replace(/(^|\s)\w/g, "$1"+3)
также можно использовать вместо split, map and than join
вам также нужно будет назначить его новой переменной, чтобы использовать ее, поскольку переменная «имя» является неизменной (как указано выше). const newName = name.split(' ').map(b => '3' + b.toLowerCase().substring(1)).join(' ');
b[0] = 3 - строки неизменяемы, запись в индекс невозможна.