Рубрики
Без рубрики

Три способа к названию корпус предложение в JavaScript

Эта статья основана на бесплатном кодовом лагере основных алгоритма сценариев «Название в титульном случае предложение». В этом алгоритме мы хотим изменить строку текста, чтобы она всегда была заглавной буквы в начале каждого слова. В этой статье я собираюсь объяснить три подхода.

Автор оригинала: Sonya Moisset.

Эта статья основана на бесплатном кодовом лагере основных алгоритма сценариев » Заголовок корпус предложение “.

В этом алгоритме Мы хотим изменить строку текста, чтобы она всегда была заглавной буквы в начале каждого слова.

В этой статье я собираюсь объяснить три подхода. Сначала с контуром A для LOOP, второй с помощью MAP () метода и третьего с помощью метода замены ().

Алгоритм Задача

Предоставил тестовые случаи

  • TitleCase («Я маленький чайник») должен вернуть строку.
  • TitleCase («Я маленький чайник») должен вернуться “Я маленький чайник”.
  • TitleCase («короткий и крепкий») должен вернуться “короткий и крепкий”.
  • TitleCase («вот моя ручка здесь Является ли мой носик “) должен вернуться” Вот моя ручка вот мой носик “.

1 Название чехол на предложение с а. Для петли

Для этого решения мы будем использовать метод string.prototyepe.tolowercase (), метод string.prototypee.split (), метод string.prototype.Charat (), метод string.prototye.slice () и массив. Прототип. Джоин () метод.

  • Толкание () Метод Возвращает вызов строкового значения, преобразованного в нижний регистр
  • Сплит () Способ расщепляет струнный объект в массив строк, отделяя струну на подсуды.
  • Чарт () Метод возвращает указанный символ из строки.
  • ломтик () Способ извлекивает раздел строки и возвращает новую строку.
  • Присоединяйтесь () Метод объединяет все элементы массива в строку.

Нам нужно будет добавить пустое пространство между скобками Сплит () метод,

var strSplit = "I'm a little tea pot".split(' ');

который будет выводить массив разделенных слов:

var strSplit = ["I'm", "a", "little", "tea", "pot"];

Если вы не добавите место в скобках, у вас будет этот вывод:

var strSplit = ["I", "'", "m", " ", "a", " ", "l", "i", "t", "t", "l", "e", " ", "t", "e", "a", " ", "p", "o", "t"];

Мы будем объединяться

str[i].charAt(0).toUpperCase()

– Что будет прописным в заглавном режиме индекс 0 символов текущей строки в цикле для петли –

и

str[i].slice(1)

– который извлечет из индекса 1 до конца строки.

Мы установим всю строку в строчные буквы для нормализации.

С комментариями:

function titleCase(str) {
  // Step 1. Lowercase the string
  str = str.toLowerCase();
  // str = "I'm a little tea pot".toLowerCase();
  // str = "i'm a little tea pot";
  
  // Step 2. Split the string into an array of strings
  str = str.split(' ');
  // str = "i'm a little tea pot".split(' ');
  // str = ["i'm", "a", "little", "tea", "pot"];
  
  // Step 3. Create the FOR loop
  for (var i = 0; i < str.length; i++) {
    str[i] = str[i].charAt(0).toUpperCase() + str[i].slice(1); 
  /* Here str.length = 5
    1st iteration: str[0] = str[0].charAt(0).toUpperCase() + str[0].slice(1);
                   str[0] = "i'm".charAt(0).toUpperCase()  + "i'm".slice(1);
                   str[0] = "I"                            + "'m";
                   str[0] = "I'm";
    2nd iteration: str[1] = str[1].charAt(0).toUpperCase() + str[1].slice(1);
                   str[1] = "a".charAt(0).toUpperCase()    + "a".slice(1);
                   str[1] = "A"                            + "";
                   str[1] = "A";
    3rd iteration: str[2] = str[2].charAt(0).toUpperCase()   + str[2].slice(1);
                   str[2] = "little".charAt(0).toUpperCase() + "little".slice(1);
                   str[2] = "L"                              + "ittle";
                   str[2] = "Little";
    4th iteration: str[3] = str[3].charAt(0).toUpperCase() + str[3].slice(1);
                   str[3] = "tea".charAt(0).toUpperCase()  + "tea".slice(1);
                   str[3] = "T"                            + "ea";
                   str[3] = "Tea";
    5th iteration: str[4] = str[4].charAt(0).toUpperCase() + str[4].slice(1);
                   str[4] = "pot".charAt(0).toUpperCase() + "pot".slice(1);
                   str[4] = "P"                           + "ot";
                   str[4] = "Pot";                                                         
    End of the FOR Loop*/
  }
  
  // Step 4. Return the output
  return str.join(' '); // ["I'm", "A", "Little", "Tea", "Pot"].join(' ') => "I'm A Little Tea Pot"
}

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

Без комментариев:

function titleCase(str) {
  str = str.toLowerCase().split(' ');
  for (var i = 0; i < str.length; i++) {
    str[i] = str[i].charAt(0).toUpperCase() + str[i].slice(1); 
  }
  return str.join(' ');
}
titleCase("I'm a little tea pot");

2 Заголовок корпус Предложение с помощью MAP () Метод

Для этого решения мы будем использовать метод Array.prototyepe.map ().

  • карта () Метод создает новый массив с результатами вызова предоставленной функции на каждом элементе в этом массиве. Используя карту, позвонит функцию предоставленного обратного вызова только один раз для каждого элемента в массиве, в порядке, и создает новый массив из результатов.

Мы будем строчными и разделить строку, как видно в предыдущем примере до применения метода карты ().

Вместо использования A для цикла мы будем применять метод MAP () в качестве условия в том же конъюближении от предыдущего примера.

(word.charAt(0).toUpperCase() + word.slice(1));

С комментариями:

function titleCase(str) {
  // Step 1. Lowercase the string
  str = str.toLowerCase() // str = "i'm a little tea pot";
  
  // Step 2. Split the string into an array of strings
           .split(' ') // str = ["i'm", "a", "little", "tea", "pot"];
         
  // Step 3. Map over the array
           .map(function(word) {
    return (word.charAt(0).toUpperCase() + word.slice(1));
    /* Map process
    1st word: "i'm"    => (word.charAt(0).toUpperCase() + word.slice(1));
                          "i'm".charAt(0).toUpperCase() + "i'm".slice(1);
                                "I"                     +     "'m";
                          return "I'm";
    2nd word: "a"      => (word.charAt(0).toUpperCase() + word.slice(1));
                          "a".charAt(0).toUpperCase()   + "".slice(1);
                                "A"                     +     "";
                          return "A";
    3rd word: "little" => (word.charAt(0).toUpperCase()    + word.slice(1));
                          "little".charAt(0).toUpperCase() + "little".slice(1);
                                "L"                        +     "ittle";
                          return "Little";
    4th word: "tea"    => (word.charAt(0).toUpperCase() + word.slice(1));
                          "tea".charAt(0).toUpperCase() + "tea".slice(1);
                                "T"                     +     "ea";
                          return "Tea";
    5th word: "pot"    => (word.charAt(0).toUpperCase() + word.slice(1));
                          "pot".charAt(0).toUpperCase() + "pot".slice(1);
                                "P"                     +     "ot";
                          return "Pot";                                                        
    End of the map() method */
});

 // Step 4. Return the output
 return str.join(' '); // ["I'm", "A", "Little", "Tea", "Pot"].join(' ') => "I'm A Little Tea Pot"
}

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

Без комментариев:

function titleCase(str) {
  return str.toLowerCase().split(' ').map(function(word) {
    return (word.charAt(0).toUpperCase() + word.slice(1));
  }).join(' ');
}
titleCase("I'm a little tea pot");

3 Заголовок корпус предложение с картой () и заменой () Методы

Для этого решения мы будем продолжать использовать метод Array.prototypee.map () и добавить метод string.prototype.replace ().

  • заменить () Метод возвращает новую строку с некоторыми или всеми спичками шаблона, замененной заменой.

В нашем случае шаблон для метода замены () станет строкой, которая должна быть заменена новой заменой и будет рассматриваться как строка Verbatim. Мы также можем использовать регулярное выражение Как шаблон для решения этого алгоритма.

Мы будем строчными и разделить строку, как видно в первом примере перед применением метода карты ().

С комментариями:

function titleCase(str) {
  // Step 1. Lowercase the string
  str = str.toLowerCase() // str = "i'm a little tea pot";
  
  // Step 2. Split the string into an array of strings
           .split(' ') // str = ["i'm", "a", "little", "tea", "pot"];
         
  // Step 3. Map over the array
           .map(function(word) {
    return word.replace(word[0], word[0].toUpperCase());
    /* Map process
    1st word: "i'm" => word.replace(word[0], word[0].toUpperCase());
                       "i'm".replace("i", "I");
                       return word => "I'm"
    2nd word: "a" => word.replace(word[0], word[0].toUpperCase());
                     "a".replace("a", "A");
                      return word => "A"
    3rd word: "little" => word.replace(word[0], word[0].toUpperCase());
                          "little".replace("l", "L");
                          return word => "Little"
    4th word: "tea" => word.replace(word[0], word[0].toUpperCase());
                       "tea".replace("t", "T");
                       return word => "Tea"
    5th word: "pot" => word.replace(word[0], word[0].toUpperCase());
                       "pot".replace("p", "P");
                       return word => "Pot"                                                        
    End of the map() method */
});

 // Step 4. Return the output
 return str.join(' '); // ["I'm", "A", "Little", "Tea", "Pot"].join(' ') => "I'm A Little Tea Pot"
}

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

Без комментариев:

function titleCase(str) {
  return str.toLowerCase().split(' ').map(function(word) {
    return word.replace(word[0], word[0].toUpperCase());
  }).join(' ');
}
titleCase("I'm a little tea pot");

Я надеюсь, что вы нашли это полезным. Это является частью моего «Как решить серию статей« Как решить фкКК-алгоритмы ».

Три способа повторить строку в JavaScript в этой статье, я объясню, как решить «Повторить строку» FreeCodeCamp. Это связано с …

Два способа подтвердить концовку строки в JavaScript в этой статье, я объясню, как решить «Подтвердить« подтвердить окончание FreeCodeCamm ».

Три способа изменить строку в JavaScript Эта статья основана на Бесплатный код Camp Camp основным алгоритмом сценариев «обратная строка»

Три способа активизировать число в JavaScript Эта статья основана на Бесплатный кодовый лагерь основной алгоритм сценариев «факториализировать номер»

Два способа проверить палиндром в JavaScript Эта статья основана на бесплатном кодовом лагере основных алгоритма сценариев «Проверка на палиндромы».

Три способа найти самое длительное слово в строке в JavaScript Эта статья основана на бесплатном кодовом лагере основных алгоритма сценариев «Найти самое длинное слово в строке».

Три способа вы можете найти наибольшее количество в массиве с использованием JavaScript в этой статье, я собираюсь объяснить, как решить бесплатный код Code Camp «Возвращение крупнейших номеров в массивах« Вызов ». Этот…

Если у вас есть собственное решение или какие-либо предложения, поделитесь их ниже в комментариях.

Или вы можете следовать за мной на Средний , Twitter , Github и LinkedIn Отказ

# StaySurious, # KeepOnhacking & # MasteithiThappen!

Ресурсы