Niklaus Wirth

Niklaus Wirth

Translate

Функция: "Каждое слово в строке с заглавной буквы"

Первый день программы

Сегодня занимался разбором функции, которая делает заглавными каждую первую букву, каждого слова в строке

Функция будет принимать значение в виде строки str и преобразовывать строку.

Название функции можно дать произвольно. Например titleCase или любое другое.

Вначале создадим новый пустой массив - var myArr

Создали новую переменную var arr, в которую поместили значения нашей строки strсделав все буквы маленькими методом .toLowerCase() и превратив ее в массив методом .split(" ") , разделив по пробелу.

Далее мы запускаем функцию for - обычного перебора массива.

Внутри этой функции создадим новую переменную var word , в которой и будет находиться наше каждое слово массива с заглавной буквы.

Для этого мы к каждому слову (элементу массива arr[i] применяем метод .replace((arr[i].charAt(0)),(arr[i].charAt(0).toUpperCase()));, где заменяем первую букву слова (элемента массива) (arr[i].charAt(0)) - первая часть метода .replace. То есть - здесь мы показываем, что мы будем менять

А вторым значением этого метода мы показываем - на что будем менять. В нашем случае на (arr[i].charAt(0).toUpperCase())То есть - на заглавный первые буквы.

Теперь каждое слово после нужного преобразования, мы добавляем в новый массив. Добавляем методом push();. То есть - в конец массива. И учитывая последовательность работы цикла мы получим прежнюю последовательность слов, но уже с заглавной буквы каждое.

Тепрь, нам только остается преобразовать наш массив в строку, методом .join(' '); и вернуть содержимое.


function titleCase(str) {
  var myArr = [];
  var arr = str.toLowerCase().split(" ");
for(i = 0; i < arr.length; i++){
  var word = arr[i].replace((arr[i].charAt(0)),(arr[i].charAt(0).toUpperCase()));
myArr.push(word);
}
  return myArr.join(' ');
}

titleCase("I'm a little tea pot");


Комментариев нет:

Отправить комментарий