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

JS遍历对象筛选属性时如何对list字段新增非空过滤

实现方案

你可以通过以下两种常用方式添加list非空过滤逻辑:

方式1:循环前提前过滤无效项

先筛选出list非空的数组项,再进行后续遍历处理,避免无效循环:

const table = team.table;
// 过滤掉list为null/undefined的项
const validTableList = table.filter(item => item.list != null);
for (let i = 0; i < validTableList.length; i++) {
  const values = {
    type: validTableList[i].list.players
      .filter((a) => a.awards != null)
      .map((a) => a.awards.type)
      .join(" "),
  };
  // 后续values处理逻辑
}

方式2:循环内加判断跳过无效项

如果不想修改原遍历数组,可以在循环内部加判断,结合可选链操作符避免属性访问报错,写法更简洁:

const table = team.table;
for (let i = 0; i < table.length; i++) {
  // list为null/undefined时直接跳过当前项
  if (table[i].list == null) continue;
  const values = {
    // 可选链+空值合并运算符保证异常场景下返回空字符串
    type: table[i].list.players
      ?.filter((a) => a.awards != null)
      ?.map((a) => a.awards.type)
      ?.join(" ") ?? "",
  };
  // 后续values处理逻辑
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:36:06