flutter - 根据其值将列表数据添加到另一个列表

标签 flutter dart

我有一个 list :

    List<MenuItem> makanan = [
  MenuItem(
    gambarMenu: Image.asset('images/nasigoreng.jpeg'),
    namaMenu: 'Nasi Goreng',
    priceMenu: 'Rp. 15.000',
    qty: 0,
    note: 'Catatan',
  ),
  MenuItem(
    gambarMenu: Image.asset('images/mie goreng.jpeg'),
    namaMenu: 'Mie Goreng',
    priceMenu: 'Rp. 15.000',
    qty: 0,
    note: 'Catatan',
  ),
  MenuItem(
    gambarMenu: Image.asset('images/nasigoreng.jpeg'),
    namaMenu: 'Mie Kuah',
    priceMenu: 'Rp. 15.000',
    qty: 0,
    note: 'Catatan',
  ),
  MenuItem(
    gambarMenu: Image.asset('images/nasigoreng.jpeg'),
    namaMenu: 'Nasi Campur',
    priceMenu: 'Rp. 15.000',
    qty: 0,
    note: 'Catatan',
  ),
  MenuItem(
    gambarMenu: Image.asset('images/nasigoreng.jpeg'),
    namaMenu: 'Bakso Komplit',
    priceMenu: 'Rp. 15.000',
    qty: 0,
    note: 'Catatan',
  ),
];

也有我要从以前的列表中列出的模型,如下所示:
class TableOrder {
  String namaMakanan;
  int qtyMakanan;
  String noteMakanan;

  TableOrder({this.namaMakanan, this.qtyMakanan, this.noteMakanan});
}

如何根据前一个列表的数量将数据从新列表中获取,如果数量大于0,该数据将被添加到新列表中。

最佳答案

您可以像这样使用List.where和List.map:

final List<TableOrder> newList = makanan
  .where((item) => item.qty > 0)
  .map((item) => TableOrder(namaMakanan: item.namaMenu, ...))
  .toList();

关于flutter - 根据其值将列表数据添加到另一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62125213/

相关文章:

flutter - 我应该如何区分 Flutter 移动版和网页版应用程序?

flutter - Flutter 中日期选择器的大小

list - 从 For 语句向 Flutter 中的列表添加元素?

Dart Dio 包 `DioError` `request` undefined object

dart - 是否有可能在Stream上返回与onComplete不同的对象?

android-studio - 自 Flutter/Android Studio 更新以来 Flutter 应用程序崩溃

Flutter 无法从另一个类调用异步函数

flutter - 有没有办法在 Flutter 应用程序中使用 Stripe 实现 iDeal Payment?

dart - 自定义 AppBar Flutter

dart - RenderCustomMultiChildLayoutBox 对象在布局错误期间被赋予无限大小