flutter怎么把数组对象转成map对象再转成数组对象
时间: 2023-11-19 07:08:29 浏览: 111
在Dart语言中,可以使用map()方法将List对象转换为Map对象,然后使用toList()方法将Map对象转换为List对象。
以下是一个示例代码:
```dart
class Person {
String name;
int age;
Person(this.name, this.age);
}
void main() {
List<Person> persons = [
Person('Alice', 25),
Person('Bob', 30),
Person('Charlie', 35)
];
// 将List<Person>转换为Map<String, dynamic>
Map<String, dynamic> personMap = Map.fromIterable(persons, key: (p) => p.name, value: (p) => {'age': p.age});
// 将Map<String, dynamic>转换为List<Map<String, dynamic>>
List<Map<String, dynamic>> personList = personMap.values.toList();
print(personList);
}
```
在上面的代码中,我们定义了一个Person类,然后创建了一个包含三个Person对象的List。接着,我们使用fromIterable()方法将List<Person>转换为Map<String, dynamic>,其中key是Person对象的name属性,value是一个包含age属性的Map对象。然后,我们再使用values.toList()方法将Map<String, dynamic>转换为List<Map<String, dynamic>>,即包含三个Map对象的List。
阅读全文