【发布时间】:2021-06-07 08:59:58
【问题描述】:
我有以下 JSON 响应(参考名称:“list”)和
[
{
"key": "101",
"val": {
"portCall": {
"id": 12664978
},
"status": "in-port"
}
},
{
"key": "102",
"val": {
"portCall": {
"id": 12415798
},
"status": "in-port"
}
},
{
"key": "103",
"val": {
"status": "on-voyage",
"voyage": {
"id": "7kynv-7lq85"
}
}
},
{
"key": "104",
"val": {
"status": "on-voyage",
"voyage": {
"id": "7kynv-2385"
}
}
}
]
另外,我有一个包含几个键值的数组列表,evImos = [101,102,104]
其中,我必须在“列表”响应中识别出状态为“航行中”的第一个key。所以,结果应该是“104”。
我已经尝试了以下方法,我需要一些帮助才能使其正常工作。任何帮助将不胜感激。
* def function getFirst = function(evImos) { for (let num of evImos) { let results = list.filter(d => d["key"] === num && d["val"]["status"] === "on-voyage"); if(results.length === 1) { karate.log(num); return num; } } }
* list.forEach(getFirst(evImos))
【问题讨论】:
标签: karate