javascript - 如何通过在 flutter 中知道其值来删除 key ?

标签 javascript flutter dart

我有一张对象 map :

Map<String, Transaction> _userIncome = {
    'four': Transaction(amount: 450, date: DateTime.now(), title: 'Einkommen', accountType: 'timr', notes: 'joa' , icon: Icon(Icons.today,), id: 'kololdcd', repeat: 'always'),
    'five': Transaction(amount: 60, date: DateTime.now(), title: 'Bruder', accountType: 'timr', notes: 'brother' , icon: Icon(Icons.today,), id: 'kolkfrcd', repeat: 'never'),
    'six': Transaction(amount: 60, date: DateTime.now(), title: 'Rückerstattung', accountType: 'timr', notes: 'brother' , icon: Icon(Icons.today,), id: 'kolofkfrcd', repeat: 'never'),
};

如果我知道值(值是唯一的),我想获取 key ,以便我可以通过其键删除条目:

_userIncome.remove(key);

我可以用给定的值识别条目:

_userIncome.values
    .where((t) => t.date.difference(datte).inDays == 0 && t.id == transactionId);

但我不知道如何获得匹配的 key ,以便删除条目。或者有没有办法通过它的值删除一个条目?

我很想听听一些建议:)

最佳答案

只需使用 removeWhere直接删除条目。以下是示例:

 _userIncome.removeWhere((k,t) => t.date.difference(datte).inDays == 0 && t.id == transactionId);

要获取索引(或更确切地说是条目),请执行以下操作:

final key = _userIncome.entries
      .firstWhere(
        (entry) => entry.date.difference(datte).inDays == 0 && entry.id == transactionId,
        orElse: () => null,
      )
      ?.key;

关于javascript - 如何通过在 flutter 中知道其值来删除 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60397861/

相关文章:

javascript - 无法使用nodemailer发送html文本

javascript - 简单的工具提示 div - 顶部位置和隐藏

flutter - Flutter中是否可以同时将点击事件传递给多个小部件?

android - Flutter 无法在物理设备上加载图像资源(但在模拟器上加载它就好了)

Dart - 如果我按 Map 的键搜索而不是在 List 中执行 singleWhere 是否会提高性能?

Javascript OOP 回调 "this"应用

JavaScript 类设置自身

node.js - Node.js 中的 MVC 对于开发 Restful api 重要吗?

performance - 在Flutter中应用 `const`的正确方法是什么?

binding - 如何查询 dom-repeat 中的元素