我有2張地圖,我想以串列的形式獲得缺少的元素。例如:
var map1= [
{"name":"name1","email":"[email protected]"},
{"name":"name2", "email":"[email protected]"},
{"name":"name3", "email":"[email protected]"},
];
var map2= [
{"name":"name1", "email":"[email protected]"},
{"name":"name2", "email":"[email protected]"},
];
輸出。[{"name":"name3","email":"[email protected]"]
我嘗試了這種方法:
var removedElements = map2.where((element) =>
!"map1
.包含(element['email']))
.toList()。
但它不作業。任何幫助都將是巨大的。
uj5u.com熱心網友回復:
試試這個
void main() {
var map1 = [
{"name": "name1"/span>, "email"/span>: "[email protected]"}。
{"name": "name2", "email": "[email protected]"}。
{"name": "name3", "email": "[email protected]"}。
];
var map2 = [
{"name": "name1"/span>, "email"/span>: "[email protected]"}。
{"name": "name2", "email": "[email protected]"}。
];
var removedElements = [] 。
var k;
for (var i in map2) {
for (var j in map1) {
if (i["email"] != j["email"] ) {
k = j;
}
}
removedElements.add(k)。
}
print(removeElements.toSet().toList())。
另一種方法
var removedElements =
map2.where((element) {
for(var i in map1) {
if(i["email"/span>] == element["email"/span>]){
return false;
} else{
return true;
}
}
}).toList()。
print(removedElements);
輸出
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/306919.html
標籤:
下一篇:不能將命令輸出發送到一個陣列中
