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

如何在Dart/Flutter中过滤指定EntityType类型的实体?

问题分析与解决方法

你的代码存在三个关键问题:

  • 使用for...in遍历数组时,拿到的是数组的索引字符串,而非实际的Transfer对象,因此无法正确访问fromType属性。
  • 用字符串"EntityType.producerSite"和枚举值EntityType.producerSite直接比较,两者类型不匹配,永远不会相等。
  • 数组添加元素应使用push()方法,而非add()(这是其他语言的语法)。

正确实现方式

方式一:使用for...of遍历(直观易懂)

var newTransferList = [];

for (var transfer of transferlist) {
  if (transfer.fromType === EntityType.producerSite) {
    newTransferList.push(transfer);
  }
}

方式二:使用数组filter方法(简洁高效)

var newTransferList = transferlist.filter(transfer => 
  transfer.fromType === EntityType.producerSite
);

通过以上两种方式,就能正确过滤出fromType匹配EntityType.producerSite的Transfer对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 12:45:37