Flutter 如何将一个包含键和值的列表添加到另一个包含键和值的(主)列表,其中键“id”在 2 个列表中相同

Flutter how to add a List with keys and values to another (Master) list with keys and values where the keys "id" are same in the 2 lists

提问人:Kis 提问时间:2/17/2023 更新时间:2/17/2023 访问量:33

问:

我在组合 2 个列表时遇到了一些小问题:

这是一个片段—— 列表已预订 = [];有 5 个元素,有 5 个键和值。这是仅预订的房间列表。

列表组合列表 = [];有 10 个元素,有 42 个键和值。这是所有房间的主列表。

并非 combinedList 的所有元素都在 booked 中。但是 booked 的所有元素都在 combinedList 中。这就是它变得棘手的地方。

我正在尝试将 List booked = [] 的内容添加到 List combinedList = [] 中,以便我可以使用 List booked = [] 中的 EndDate 和 checkOutTime。

当我使用以下方法时,List fetchRooms 的长度是 5 而不是 10。

知道我怎样才能达到这个结果吗?

我试了这个代码:

if (booked.isNotEmpty) {
      combinedList.forEach((e) {
        booked.forEach((ele) {
          if (e["roomNumber"] == ele["roomNumber"]) {
            // if (e["id"] == ele["id"]) {
            fetchRooms.add(getExtendedlist(
              e["buildingEntranceUrl"].toString(),
              e["roomUrl"].toString(),
              e["description"].toString(),
              e["address"].toString(),
              e["Name"].toString(),
              e["averageRating"].toString(),
              e["roomNumber"].toString(),
              e["endDateAndTime"].toString(),
              e["startDateAndTime"].toString(),
              e["Monthly"].toString(),
              e["RegisteredDate"].toString(),
              e["accessType"].toString(),              
              e["geopointlat"],
              e["geopointlng"],
              e["id"],              
              ele["EndDate"].toString(),
              ele["checkOutTime"].toString(),
            ));
          }
        });
      });
    }

但它只给了我预订的长度。我希望在 id 相同的地方添加字段 ele[“EndDate”].toString() 和 ele[“checkOutTime”].toString() 的 combinedList 长度,并在 ID 不相同的地方添加空白。

Flutter 字典 嵌套列表

评论


答: 暂无答案