Используйте JavaScript для подсчета слов в строке, без использования регулярных выражений
Уже много постов на тему того, как посчитать количество слов в строке в JavaScript, и я просто хотел пояснить, что я на них смотрел.
Как очень новый программист, я хотел бы выполнять эту функцию без использования каких-либо регулярных выражений. Я ничего не знаю о регулярных выражениях и поэтому хочу использовать обычный код, даже если это не самый эффективный способ в реальном мире, ради обучения.
Я не могу найти ответ на свой вопрос в другом месте, поэтому я подумал, что я бы хотел спросить здесь, прежде чем я по умолчанию просто использовать регулярное выражение.
function countWords(str) {
return str.split(/\s+/).length;
}
Моя общая цель - найти самое короткое слово в строке.
2 ответа
Итак, вот ответ на ваш новый вопрос:
My overall goal is to find the shortest word in the string.
Он разбивает строку, как и раньше, сортирует массив от коротких до длинных слов и возвращает первую запись / самое короткое слово:
function WordCount(str) {
var words = str.split(" ");
var sortedWords = words.sort(function(a,b) {
if(a.length<b.length) return -1;
else if(a.length>b.length) return 1;
else return 0;
});
return sortedWords[0];
}
console.log(WordCount("hello to the world"));
Кажется, вопрос немного изменился, но первая ссылка в вашем посте близка. Изменено, чтобы игнорировать двойные пробелы:
function WordCount(str) {
return str
.split(' ')
.filter(function(n) { return n != '' })
.length;
}
console.log(WordCount("hello world")); // returns 2
Здесь нет регулярных выражений - просто разбейте строку в массив на пробелах, удалите пустые элементы (двойные пробелы) и посчитайте количество элементов в массиве.