如何确定地图列表是否包含键的特定值?

kel*_*ikh 6 dart flutter

我无法理解如何通过键检查地图列表是否包含值。以下是我拥有的数据结构。

[
  {
    id: 1,
    bookTxt: Hereissomebooktext.,
    bookAuth: Charles
  },
  {
    id: 3,
    bookTxt: Hereissomemorebooktext.,
    bookAuth: Roger
  },
  {
    id: 6,
    bookTxt: Hereissomeevenmorebooktext.,
    bookAuth: Matt
  }
]
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一些简单的东西或一个函数来查看此地图列表是否包含某个“id”。我知道 List 有 Contains 方法,但在我的情况下,我必须在 Maps 列表中找到一个值。

例如,如果我想查看上面的地图列表是否包含idof 3,我将如何访问它?

Cop*_*oad 10

直接检查方式

if (list[0].containsKey("id")) {
  if (list[0]["id"] == 3) {
    // your list of map contains key "id" which has value 3
  }
}
Run Code Online (Sandbox Code Playgroud)

对于间接方式,您需要像这样遍历循环:

for (var map in list) {
  if (map.containsKey("id")) {
    if (map["id"] == 3) {
      // your list of map contains key "id" which has value 3
    }
  }
}
Run Code Online (Sandbox Code Playgroud)