如何將飛鏢中的2個或多個地圖合併/合併到1個地圖中? 比如我有這樣的:將多個地圖合併/合併爲1個地圖
var firstMap = {"1":"2"};
var secondMap = {"1":"2"};
var thirdMap = {"1":"2"};
我想:
var finalMap = {"1":"2", "1":"2", "1":"2"};
如何將飛鏢中的2個或多個地圖合併/合併到1個地圖中? 比如我有這樣的:將多個地圖合併/合併爲1個地圖
var firstMap = {"1":"2"};
var secondMap = {"1":"2"};
var thirdMap = {"1":"2"};
我想:
var finalMap = {"1":"2", "1":"2", "1":"2"};
可以使用addAll
方法Map
對象的
var firstMap = {"1":"2"};
var secondMap = {"2":"3"};
var thirdMap = {};
thirdMap.addAll(firstMap);
thirdMap.addAll(secondMap);
print(thirdMap);
或者
var thirdMap = {}..addAll(firstMap)..addAll(secondMap);
另一種選擇是使用CombinedMapView
從package:collection
:
new CombinedMapView([firstMap, secondMap])
它不創建一個合併的地圖,但創建一個Map
這是一個鑑於兩者。
Map.addAll
,
Iterable.reduce
和
cascading operator,用於組合很多地圖
替代語法:
var combinedMap = mapList.reduce((map1, map2) => map1..addAll(map2));
現場dartpad例如 https://dartpad.dartlang.org/9cd116d07d2f45a9b890b4b1186dcc5e
有沒有辦法,雖然這些文件全部合併在同一行? – smriti
var finalMap = {} .. addAll(firstMap).. addAll(secondMap).. addAll(thirdMap); –
是用'..'更新了迴應 –