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
相关产品推荐
相关产品推荐

