flutter 如何把List<<Map<String, dynamic>> 格式化为List
时间: 2023-10-14 17:22:17 浏览: 103
如果你想将一个 `List<Map<String, dynamic>>` 格式化为 `List`,可以使用 `map` 方法来遍历每个元素,并将每个元素转换为所需的格式。以下是一个示例代码:
```dart
List<Map<String, dynamic>> originalList = [
{'id': 1, 'name': 'John'},
{'id': 2, 'name': 'Jane'},
{'id': 3, 'name': 'Bob'}
];
List<int> formattedList = originalList.map((item) => item['id']).toList();
print(formattedList); // [1, 2, 3]
```
在上面的示例中,我们将每个元素转换为其 `id` 字段的值,并将结果存储在一个新的 `List<int>` 中。你可以根据需要更改转换函数以获取所需的格式。
相关问题
flutter 如何把List<List<Map<String, dynamic>>> 格式化为List
要将List<List<Map<String, dynamic>>>格式化为List,可以使用expand()和toList()方法。expand()方法将多维列表展开为一维列表,然后使用toList()方法将其转换为List类型。
以下是示例代码:
```
List<List<Map<String, dynamic>>> multiList = [
[
{'name': 'John', 'age': 25},
{'name': 'Mary', 'age': 28},
],
[
{'name': 'Peter', 'age': 30},
{'name': 'Jane', 'age': 32},
],
];
List<Map<String, dynamic>> flattenedList = multiList.expand((subList) => subList).toList();
print(flattenedList);
```
输出结果为:
```
[
{name: John, age: 25},
{name: Mary, age: 28},
{name: Peter, age: 30},
{name: Jane, age: 32}
]
```
flutter List<dynamic>转 Map<String, dynamic>
可以使用`asMap()`方法将`List<dynamic>`转换为`Map<String, dynamic>`。以下是一个示例代码:
```dart
List<dynamic> list = [
{'name': 'John', 'age': 25},
{'name': 'Jane', 'age': 30},
];
Map<String, dynamic> map = Map.fromIterable(
list.asMap().keys,
key: (index) => index.toString(),
value: (index) => list[index],
);
print(map);
```
输出结果为:
```dart
{
'0': {'name': 'John', 'age': 25},
'1': {'name': 'Jane', 'age': 30}
}
```
这个示例中,我们首先使用`asMap()`将列表转换为索引-值对的映射。然后,使用`Map.fromIterable()`方法将索引作为字符串键,对应的值作为映射的值。最终得到一个`Map<String, dynamic>`对象。
阅读全文