Пройдите список и сравните количество слов в каждой строке. Явно определите слово: ниже это непустая последовательность между пробельными символами.
Строка с наибольшим количеством слов
Пройдите список и сравните количество слов в каждой строке. Явно определите слово: ниже это непустая последовательность между пробельными символами.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Создайте функцию, которая принимает список строк и возвращает ту строку, в которой содержится максимальное число слов.
Ответ
Пройдите список и сравните количество слов в каждой строке. Явно определите слово: ниже это непустая последовательность между пробельными символами.
function mostWords(strings) {
let best = null, maximum = -1;
for (const text of strings) {
const trimmed = text.trim();
const count = trimmed ? trimmed.split(/\s+/).length : 0;
if (count > maximum) { maximum = count; best = text; }
}
return best;
}
При равном количестве сохраняется первая строка, пустой список возвращает null. Строка из пробелов содержит ноль слов; исходная строка возвращается без обрезания. Пунктуация сама по себе не разделяет слова в этом контракте. Сложность линейна по суммарной длине строк.