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

如何根据指定prod_delivery参数过滤对象数组

问题原因

你代码中的核心错误是变量取值逻辑错误:

  • 你通过req.param('prod_delivery')拿到的prod_delivery本身就是值为"Express"的字符串,不是对象结构
  • 筛选条件里写的prod_delivery.prod_delivery属于从字符串上读取不存在的属性,返回值为undefined,自然匹配不到任何数组项,所以返回空数组。

另外你示例提供的数组存在语法错误:每个prod对象的最后一个属性后错误用了分号;,实际接口返回的合法JSON需要把此处换成逗号,,否则数组解析失败也会导致后续逻辑异常。

修复方案

直接用prod_delivery变量本身做匹配即可,同时建议加全等判断、可选链兼容边界异常:

let prod_delivery = req.param('prod_delivery');
console.log(prod_delivery) // 输出为 Express
GlobalServices.isDisabledAddToCart(filteredProductList, filters)
    .then(function(updatedProductList) {
        var output = updatedProductList.filter(function(x) {
            // 修正匹配条件,可选链避免属性不存在时报错
            return x?.prod_merchant?.prod_delivery === prod_delivery
        });
        console.log("output", output)
    })

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 05:15:02