跳到主内容

prefer_for_elements_to_map_fromiterable

在从可迭代对象构建 Map 时使用 'for' 元素。

描述

#

当使用 Map.fromIterable 构建一个可以使用 for 元素构建的 Map 时,分析器会生成此诊断。

示例

#

以下代码会产生此诊断,因为正在使用 fromIterable 构建一个可以使用 for 元素构建的 Map

dart
void f(Iterable<String> data) {
  Map<String, int>.fromIterable(
    data,
    key: (element) => element,
    value: (element) => element.length,
  );
}

常见修复

#

使用 for 元素构建 Map

dart
void f(Iterable<String> data) {
  <String, int>{
    for (var element in data)
      element: element.length
  };
}