dart数组去重

4,484 阅读1分钟

望大佬给更简单的方法:

举例: res.data=[{'name':'1','id':1},{'name':'2','id':2},{'name':'2','id':2}]

方法:

  List data=[{'name':'1','id':1},{'name':'1','id':1},{'name':'2','id':2},{'name':'2','id':2}];
              var _a = new Set();   //将_a带上去重属性
              List _h = [];
              for(int i=0;i<data.length;i++){
                _a.add(data[i]["id"]);  //_a会自动将重复的去掉  _a=[1,2]
              }
  List _b = _a.toList();
           for(int j=0;j<_a.length;j++){
              for(int i=0;i<data.length;i++){
                 if(_b[j] == data[i]['id']){
                   _h.add(data[i]);
                   break;
                  }
                }
              }

  print(_b);
  print(_h);

在线编译dart dartpad.cn/