Мне нужно знать, почему это не так ... Я пытаюсь создать функцию, которая находит предложение с наибольшим количеством слов в нем и возвращает количество слов. Это выглядит для точек. вопросительные знаки ? и восклицательные знаки!
const numberOfWords = (string) => {
let sentenceArray = string.match(/.*?[?!.]/g)
let mostWords =
sentenceArray.reduce((sentence1, sentence2) =>
(sentence1.split('').length < sentence2.split ('').length ?
sentence1 = sentence2
:
sentence1
))
return mostWords.split(' ').length
}
Это сработало с этой строкой в качестве теста: «Это предложение. Это другое? Думаю?»
, возвращающее 4, но в некоторых случаях добавляется дополнительный номер к нему? Я хочу понять почему! Примерно так: «Как насчет этого? Подожди! Я думаю, что это должно быть самым длинным. Я думаю, что это должно быть самым длинным и дольше». // возвращает последнее предложение как 11 слов, но оно должно быть 10.