Сегодняшний вопрос по алгоритму: «По заданной строке найдите длину самого длинного слова в строке».
Методы, которые могут быть использованы для решения этого вопроса, были даны следующим образом:
- Для цикла
- Если Заявление
- Строка.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'