How can I filter a map / access the entries

前端 未结 3 898
一生所求
一生所求 2021-02-18 23:46

The Map interface doesn\'t seem to provide access to the entries as an iterable, nor does it expose a where method to filter entries. Am I missing something? Is there a simple w

3条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-02-19 00:18

    You can use

    library x;
    
    void main(List 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'));
    }
    

提交回复
热议问题