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

基于指定数组过滤数据集时结果恒为0,求排查问题原因

问题分析与修正

核心错误有两个:

  • forEach的返回值问题:forEach方法执行后始终返回undefined,而你的filter回调函数把这个返回值作为判断依据,undefined在布尔语境下会被判定为false,导致所有元素都被过滤掉,结果自然是空数组。
  • filters元素访问错误:你的filters是字符串数组['serviceCode1', 'serviceCode2', 'serviceCode3'],但代码里却试图访问x.code——字符串根本没有code属性,x.code!会得到undefined,data.serviceCode.includes(undefined)必然不成立。

修正后的代码

如果需要判断data.serviceCode包含filters中的任意一个字符串:

this.mainDataSet = this.mainDataSet.filter((data) => {
  return this.filters.some(x => data.serviceCode.includes(x));
});

如果是需要data.serviceCode精确等于filters中的某一项:

this.mainDataSet = this.mainDataSet.filter((data) => {
  return this.filters.includes(data.serviceCode);
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 12:02:02