邮递员在匹配其他元素条件的情况下捕获元素

时间:2019-04-18 06:50:05

标签: javascript json postman

我的响应代码如下:

[
    {
        "id": 364,
        "siteName": "FX21 - PortA",
    },
    {
        "id": 364,
        "siteName": "FX21 - PortB",
    },
    {
        "id": 370,
        "siteName": "FX05 - ER",
    },

在邮递员中,我只想在id = 364的情况下使用所有siteName值填充一个数组变量。所以我期望的数组看起来像[FX21 - PortA, FX21 - PortB]

我尝试了以下操作,但这只会返回第一个siteName值:

var requiredId = pm.response.json().find(function(element){
    if (element.id == "364"){

        return element;
    }
});

1 个答案:

答案 0 :(得分:0)

  • 使用Array.filter的组合来筛选值为id的{​​{1}}。
  • 然后用364将其映射到仅包含Array.map值的数组。
  • 与解构分配一起提取对象的键:

siteName

或者const response = [ { "id": 364, "siteName": "FX21 - PortA", }, { "id": 364, "siteName": "FX21 - PortB", }, { "id": 370, "siteName": "FX05 - ER", } ] function getSiteNameById(idFilter){ return response.filter(({id}) => id === idFilter).map(({siteName}) => siteName); } console.log(getSiteNameById(364));一次完成,您可以在其中检查ID,然后将元素累积到最终数组中:

Array.reduce