首页 > 解决方案 > Flutter 按值删除重复数组

问题描述

我有一个具有相同名称值的数组,我只需要检查是否有相同的值,它将删除它。

我的数据看起来像

[{'name':'Rameez', 'data': [{'age': 1, 'number': 2}]}, {'name':'XYZ', 'data': [{'age': 1, 'number': 2}]}, {'name':'Rameez', 'data': [{'age': 1, 'number': 2}]}];

我想这样显示它没有重复的名称

Expected output dataaa = [{'name':'Rameez', 'data': [{'age': 1, 'number': 2}]}, {'name':'XYZ', 'data': [{'age': 1, 'number': 2}]}];

标签: flutterdart

解决方案


  var list = [{'name':'Rameez', 'data': [{'age': 1, 'number': 2}]}, 
               {'name':'XYZ', 'data': [{'age': 1, 'number': 2}]},
               {'name':'Rameez', 'data': [{'age': 1, 'number': 2}]}];

   for(int i = 0;i< list.length;i++){
      for(int j = i+1;j< list.length;j++){
        if(list[i]["name"] == list[j]["name"]){
          list.removeAt(j);
        }
      }
   }

  list.forEach((item) => print(item.toString()));

输出

{name: Rameez, data: [{age: 1, number: 2}]}
{name: XYZ, data: [{age: 1, number: 2}]}

推荐阅读