功能:
var mapList = [
{"id": "1", "name": "zein"},
{"id": "2", "name": "john"},
];
print(mapList.contains({"id": "1", "name": "zein"}));
结果:假
该列表实际上包含该值。为什么还是假?
最佳答案
根据@enzo的建议,您可以使用mapEquals
来比较两个 map 对象:
import 'package:flutter/foundation.dart';
void main() {
var mapList = [
{"id": "1", "name": "zein"},
{"id": "2", "name": "john"}
];
var toCheck = {"id": "1", "name": "zein"};
print(mapList.any((e) => mapEquals(e, toCheck))); // true
}
或者,您可以迭代列表并检查为:
mapList.forEach((e) {
print(mapEquals(e, toCheck));
});
关于flutter - 为什么 .contains 不 checkin List<Map> ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68233390/