You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Postman Tests中用console.log统计ShipmentStatus的类型与数量

实现Postman中ShipmentStatus的统计功能

嘿,刚好我之前也做过类似的需求,给你一步步拆解怎么实现这两个功能:

核心思路

我们可以先遍历所有订单,用一个对象来记录每种ShipmentStatus出现的次数,之后就能轻松拿到唯一状态数量和各状态的订单数了。

完整代码(直接复制到Tests模块即可)

// 1. 获取响应中的订单数组
const orders = response.Orders;

// 2. 输出总订单数(你已经实现的部分,保留下来)
console.log("Total Orders : " + orders.length);

// 3. 创建空对象,用于存储每个状态对应的订单数
const statusCounts = {};

// 4. 遍历所有订单,统计各状态数量
orders.forEach(order => {
    const status = order.ShipmentStatus;
    // 如果该状态已在对象中,计数+1;否则初始化为1
    statusCounts[status] = (statusCounts[status] || 0) + 1;
});

// 5. 统计唯一状态类型的数量
const uniqueStatusCount = Object.keys(statusCounts).length;
console.log(`Unique ShipmentStatus Types: ${uniqueStatusCount}`);

// 6. 输出每种状态对应的订单数
console.log("ShipmentStatus Breakdown:");
for (const status in statusCounts) {
    console.log(`${statusCounts[status]}个${status}订单`);
}

代码解释

  • 我们用forEach遍历订单数组,对每个订单的ShipmentStatus做计数:如果这个状态已经在statusCounts对象里,就把对应的值加1;如果是第一次遇到,就默认从0开始加1(|| 0处理初始值为undefined的情况)。
  • Object.keys(statusCounts)会返回所有状态的名称数组,它的长度就是唯一状态的数量。
  • 最后用for...in循环遍历statusCounts对象,把每个状态的数量和名称输出出来。

测试一下,如果你返回的订单里有4个In-Process、5个Complete、2个Rejected,控制台会输出:

Total Orders : 11
Unique ShipmentStatus Types: 3
ShipmentStatus Breakdown:
4个In-Process订单
5个Complete订单
2个Rejected订单

内容的提问来源于stack exchange,提问作者rookievmc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:16:08