4
Map接口似乎沒有提供對條目的訪問權限作爲迭代,也沒有公開過濾條目的where方法。我錯過了什麼嗎?有一個簡單的解決方法嗎?如何過濾地圖/訪問條目
例如
Map map;
final filteredMap = map.where((k, v) => k.startsWith("foo"));
Map接口似乎沒有提供對條目的訪問權限作爲迭代,也沒有公開過濾條目的where方法。我錯過了什麼嗎?有一個簡單的解決方法嗎?如何過濾地圖/訪問條目
例如
Map map;
final filteredMap = map.where((k, v) => k.startsWith("foo"));
您可以使用
library x;
void main(List<String> args) {
Map map = {'key1': 'aölsjfd', 'key2': 'oiweuwrow', 'key11': 'oipoip', 'key13': 'werwr'};
final filteredMap = new Map.fromIterable(
map.keys.where((k) => k.startsWith('key1')), key: (k) => k, value: (k) => map[k]);
filteredMap.forEach((k, v) => print('key: $k, value: $v'));
}
你能避免'鍵(K)=> k'這是默認的。 –
謝謝你是一個相當不錯的解決方法。在地圖上它仍然是我感覺像缺失的功能,因此我添加了https://code.google.com/p/dart/issues/detail?id=16117 – Anders