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

JavaScript如何遍历JSON并向指定对象添加值构造目标数组

JavaScript实现方案

实现逻辑

直接遍历响应体中errorParameters数组,筛选携带orderItemIds字段的报错条目,按原顺序存入新数组即可。

完整代码

const errorParams = mockResponse.errors[0].errorParameters;
const result = [];

errorParams.forEach(param => {
  // 筛选包含orderItemIds的报错对象,可根据需求新增字符串匹配校验
  if (param.orderItemIds) {
    result.push({
      errorMessage: param.errorMessage,
      orderItemIds: param.orderItemIds,
      availableShipModeId: param.availableShipModeId
    })
  }
})

// 打印验证结果
console.log(result)

输出结果示例

[
  {
    errorMessage: "Ship to Home not available for these orderItemId",
    orderItemIds: [ 10315031, 10315032 ],
    availableShipModeId: 13203
  },
  {
    errorMessage: "Pickup At Seller not available for these orderItemIds",
    orderItemIds: [ 10222222, 10333333 ],
    availableShipModeId: 13203
  }
]

可选优化

如果需要严格匹配指定报错信息,避免其他携带orderItemIds的异常条目被误收录,可以新增字符串匹配判断:

// 替换原有if判断即可
const validKeywords = ['Ship to Home', 'Pickup At Seller'];
if (param.orderItemIds && validKeywords.some(keyword => param.errorMessage.includes(keyword))) {
  result.push({
    errorMessage: param.errorMessage,
    orderItemIds: param.orderItemIds,
    availableShipModeId: param.availableShipModeId
  })
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:48:02