首页 > 解决方案 > 如何在 Flutter 的对象数组中检查键值 id 是否退出?

问题描述

如何检查值是否存在于对象数组中。如果可行,请给我一个解决方案,然后我接受您的回答这里有人对此有解决方案吗?提前致谢。这是我的代码。

[{"index":0,"productId":"5d9890c7773be00ab5b41701","qty":2}, {"index":0,"productId":"5d9890c7773be00ab5b41701","qty":3}]

如何在 Flutter 中检查该数组的 ProductId 是否退出。

标签: flutterdart

解决方案


您的列表具有重复值。在我的演示中,添加一个额外的索引 1 以证明它有效
对于 unique 和 index only ,使用 indexWhere
对于返回合格列表使用 where , firstWhere , singleWhere
你可以看到 DarPad 结果
代码片段

void main()  {

 List<Map> productList = [{"index":0,"productId":"5d9890c7773be00ab5b41701","qty":2}, {"index":0,"productId":"5d9890c7773be00ab5b41701","qty":3},                   {"index":1,"productId":"5d9890c7773be00ab5b41702","qty":23}];

  int index = productList.indexWhere((prod) => prod["productId"]=='5d9890c7773be00ab5b41701' ); 
  print(index);

  var prodLists = productList.where((prod) => prod["productId"] == '5d9890c7773be00ab5b41701');

  print('${prodLists}');

}

输出

0
({index: 0, productId: 5d9890c7773be00ab5b41701, qty: 2}, {index: 0, productId: 5d9890c7773be00ab5b41701, qty: 3})

在此处输入图像描述


推荐阅读