Функция, которая принимает строку и возвращает количество слов - PullRequest
0 голосов
/ 17 октября 2019

Создать функцию, которая принимает строку и возвращает количество слов. Строка будет предложением.

Пример вывода:

countWords("This is a test") ➞ 4

CODE

function countWords(str) {

    let count = 0;
	  
    [...str].forEach(x => x.length > 0)
      
    count++

    return count

}

countWords("Hello World")

Когда я вызываю эту функцию, я получаю undefined is not iterable. Я неправильно использую оператор спреда?

Кроме того, есть ли способ получить счет менее подробным способом, в forEach или иным способом? Я считаю, что приращение должно быть внутри forEach, но я не уверен, куда его поместить.

Ответы [ 2 ]

2 голосов
/ 17 октября 2019

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

function countWords(str) {
  let count = str.split(' ').length;
  return count;
}

console.log(countWords("This is a test"));
0 голосов
/ 17 октября 2019

Попробуйте использовать этот код

function countWords(){
	s = document.getElementById("inputString").value;
	s = s.replace(/(^\s*)|(\s*$)/gi,"");
	s = s.replace(/[ ]{2,}/gi," ");
	s = s.replace(/\n /,"\n");
	document.getElementById("wordcount").value = s.split(' ').length;
}
<textarea id="inputString" cols="50" rows="4">Text to count</textarea>
<br>
<input type="button" name="Convert" value="Count Words" onClick="countWords()"> 
<input id="wordcount" type="text" value="" size="6">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...