Сегодняшний вопрос по алгоритму: «По заданной строке найдите длину самого длинного слова в строке».

Методы, которые могут быть использованы для решения этого вопроса, были даны следующим образом:

  • Для цикла
  • Если Заявление
  • Строка.split()

String.Split() —метод String, который разбивает строку на массив подстрок.

var car = 'honda civic'
car.split(); // ['honda civic']
car.split("); // ['h','o','n','d','a',' ','c','i','v','i','c']
car.split(' ')// ['honda', 'civic']

Псевдокод, чтобы помочь с вопросом, был следующим

  • Сначала объявите функцию. Это то, во что мы будем передавать строку слов в качестве аргумента.
  • Это приведет нас к блоку кода. Здесь мы будем использовать описанный выше метод разделения для разделения на массив слов.
  • Объявите переменную для хранения значения самой длинной строки (подсказка: начните с 0)
  • Создайте цикл For, чтобы перебрать наш массив, в который мы превратили строку.
  • Блок кода для цикла For Loop будет содержать условный оператор if. Сравнение текущей длины индексного слова с объявленной ранее переменной и присвоенным ей значением. Если True возвращает значение переменной, обрабатывающей наибольшую длину
  • Затем вызовите функцию со строковым аргументом

С большой помощью моего любимого мужа и кучей разочарований с моей стороны я нашел ответ на вопрос:

var sentence = 'My name is Alice and I am cool';
function getLongestWord (str) {
var splitArray = str.split(' ');
var longWord = '';
for (i = 0; i < splitArray.length; i++){
    if (splitArray[i].length > longWord.length){
        longWord = splitArray[i];
    }
}
return longWord;
};
getLongestWord (sentence);// 'Alice'