面对将对象列表转换为 的问题Map
,我解决如下:
class OrganizationFields {
late Map<String, OrgField> items = <String, OrgField>{};
OrganizationFields({ List<OrgField>? fields })
: this.items = Map.fromIterable([...?fields], key: (itm) => itm.name, value: (itm) => itm);
}
但我不喜欢fromIterable
在每次内部迭代时都会在此处执行两个调用的事实。它看起来不是很“漂亮”,我认为在 Dart 中更快的解决方案是可能的。此外,在项目的另一个地方,预计会非常频繁地重新创建几乎相似的Map
实体,我想学习如何优化这一点。输入数据始终是列表,不幸的是,这无法更改。
因此,问题是:有没有办法在不使用大量调用的情况下以更快的代码执行相同的操作(也可以使用属性作为键Map
从'a 创建对象)?List
沙箱中的相同代码(带有随机元素)。
ps:
在项目中我使用Flutter + GetX,如果重要的话。
这是我第一次接触 dart(我主要用 JS 编写),如果我做错了什么,我会感谢评论中的批评。