【问题标题】:Counting words using javascript - Postman test使用javascript计算单词 - 邮递员测试
【发布时间】:2018-10-29 22:39:12
【问题描述】:

您好,我是 API、邮递员等方面的新手,遇到了一些我无法完成的任务。

我需要在邮递员中创建测试,它将检查正文是否包含 2 个单词“黑色”。

正文:['Green Snake', 'Black Cow', 'Blue Bird', 'Black Cat', 'Yellow Cow']

我的代码:

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

有人可以帮我解决这个问题吗?

【问题讨论】:

  • 这里的很多答案实际上并不能帮助您解决问题 - 它们主要告诉您如何做您想要实现的目标,而不是向您展示如何创建邮递员测试它。如果您发布实际的响应正文,您在 Postman 中如何看待它,我可以发布更具体的答案。

标签: javascript html api count postman


【解决方案1】:

如果我没看错,你需要这样的东西:

 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:评论,如果您觉得这需要更多功能。

【讨论】:

  • 为了清楚起见,可能想把found.length扔进去。
  • 做到了。感谢您的快速审核
【解决方案2】:

假设你有一个数组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 将包含所有出现多次的单词。

【讨论】:

    【解决方案3】:

    假设您有一个名为 bodyText 的数组,并且想要计算该数组包含“Black”一词的次数,您可以试试这个:

    var bodyText = ["Black cat", "blue dog", "black bird"];
    var count = (bodyText.join("").match(/black/ig) || []).length
    console.log(count)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-14
      • 2022-01-15
      • 2014-07-09
      • 2018-09-23
      • 2017-05-19
      • 1970-01-01
      • 2018-01-01
      相关资源
      最近更新 更多