首页 > 解决方案 > 如何将多个列表合并为一个列表?镖

问题描述

我有一个

class shop {
int id;
String name;
List<Product> products;
}

class Product {
int id;
String productName;
}

每个商店都有自己的产品,如何将所有商店产品合并到一个列表中如何创建所有产品的列表

标签: listflutterdartmerge

解决方案


您可以简单地Lists+运算符合并:

List<Product> list1 = ...;
List<Product> list2 = ...;
List<Product> list3 = ...;

List<Product> mergedList = list1 + list2 + list3;

此外,Dart 2.3更高版本还支持扩展运算符,可按如下方式使用:

List<Product> mergedList2 = [...list1, ...list2, ...list3];

对于动态数量的商店,您可以使用基本的 forEach:

List<Shop> shops = ...;

List<Product> mergedList = List();

shops.forEach((shop) => mergedList.addAll(shop.products));

推荐阅读