Подсчет слов с использованием javascript - тест Почтальона - PullRequest
0 голосов
/ 19 мая 2018

Здравствуйте, я новичок в API, почтальон и т. Д. И получил задание, которое я не могу выполнить.

Мне нужно создать тест в почтальоне, который проверит, содержит ли основной текст 2 слова «Черный».

Основной текст: ['Зеленая змея', 'Черная корова', 'Синяя птица', 'Черная кошка', 'Желтая корова']

Мой код:

var colour = "Black"
tests["Body cointains string: " + colour] = responseBody.has(colourCount=2);

Может ли кто-нибудь помочь мне решить эту проблему?

Ответы [ 3 ]

0 голосов
/ 19 мая 2018

Предполагая, что у вас есть массив bodyText, вы могли бы сделать что-то вроде этого:

let words = [];
let duplicateWords = [];
bodyText.forEach(i => {
    const isplit = i.split(" ");
    isplit.forEach(word => { 
        if (words.find(word)) duplicateWords.push(word)
        else words.push(word)
    })
});

После запуска этого массива duplicateWords будет содержать все слова, которые появляются более одного раза.

0 голосов
/ 19 мая 2018

Если я вас правильно понял, вам нужно что-то вроде этого:

 var color = "Black";
 var body_text=['Green Snake', 'Black Cow', 'Blue Bird', 'Black Cat', 'Yellow Cow'];
 var found = body_text.filter(phrase => phrase.match(color))
 console.log("Found ",found.length, " instances with ", color)

PS: прокомментируйте, если вам кажется, что для этого требуется дополнительная функциональность.

0 голосов
/ 19 мая 2018

Предполагая, что у вас есть массив с именем bodyText и вы хотите подсчитать, сколько раз массив содержит слово «черный», вы можете попробовать это:

var bodyText = ["Black cat", "blue dog", "black bird"];
var count = (bodyText.join("").match(/black/ig) || []).length
console.log(count)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...