Я пытаюсь загладить первую букву в каждом слове в строке. Мой код выглядит следующим образом:Строка [0] .toUpperCase() не возвращает ожидаемые результаты?
function LetterCapitalize(str)
{
var words=str.split(" ");
var newArray=[];
for(i=0; i<words.length; i++)
{
var aWord=words[i];
//this line below doesn't work...don't know why!
aWord[0]=aWord[0].toUpperCase();
newArray.push(aWord);
};
newArray.join(" ");
return newArray;
};
Так что вопрос я вижу в том, что, когда я пытаюсь присвоить aWord [0] его заглавное значение, назначение не происходит? Как изменить это, чтобы произошло назначение?
PS. Я знаю, что существует метод регулярных выражений, который может сделать это одним махом, но я просто подобрал javascript несколько дней назад и еще не получил этого еще! как таковые, любые советы, которые не связаны с регулярным выражением высоко оценили
Вам разрешено читать символ, а не мутировать его. – zerkms
Я собирался ответить на это, но уже есть много хороших ответов. Еще одно замечание: вы, вероятно, захотите «вернуть newArray.join (« »);', прямо сейчас вы возвращаете сам массив, а не строку. – EelkeSpaak
@EelkeSpaak спасибо за головы! – YOO629