【发布时间】:2020-01-31 01:00:08
【问题描述】:
我一直在尝试根据我的“note”值过滤 API 调用的结果。我一直在 Zapier 上构建它并且调用有效,但我似乎找不到让过滤器功能完成其工作的方法(所以如果我用 return results 替换第 19-23 行;那么它会给我来自api 调用)。我倾注了所有我能找到的堆栈文档,但它们都以错误result.filter not found 或bargle 错误(Zapier 中的一般错误)结尾。
const options = {
url: `https://mystorename.myshopify.com/admin/orders.json?`,
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
params: {
}
}
return z.request(options)
.then((response) => {
response.throwForStatus();
var results = z.JSON.parse(response.content);
var queryItem = "555-5555"
const filteredOrders = results.orders.filter(item => item.note === queryItem);
return filteredOrders;
});
这是我当前输出的一个示例,带有return results; 并且没有过滤器:
{
"orders": [
{
"note": "555-5555",
"subtotal_price": "1.00"
},
{
"note": "555-6666",
"subtotal_price": "2.00"
}
]
}
同样,目标是按“note”键中的值进行过滤。因此,如果我的过滤器输入是 555-5555,那么它应该只返回该项目的所有信息。我确实尝试使用 if 语句进行返回,字符串化而不是解析,转换为数组......所有需要的代码,但无论我发现过滤器不起作用或什么都不返回的格式。会继续努力,所以如果我碰巧找到答案,我会发布它,但在这一点上我觉得卡住了。
【问题讨论】:
-
试试
results.orders.filter -
不高兴,它返回一个未定义的。加倍检查了我的输出,它与我发布的一样,但要获得我必须放入
return results.orders[0];或return results.orders[1];的每个项目。
标签: javascript arrays node.js shopify zapier