Angular2从JSON数组中删除重复项

not*_*dev 8 arrays filter angularjs ngfor angular

当我将应用程序移动到Angular2时,我的JSON数组中的过滤器出现问题.在Angular 1.x中更容易.我'unique'在过滤器中使用,这删除所有重复.

应用:

{"app":"database_1",
 "host":"my_host1",
 "ip":"00.000.00.000"
},
{"app":"database_1",
 "host":"my_host1",
 "ip":"00.000.00.000"
},
{"app":"database_2",
 "host":"my_host2",
 "ip":"00.000.00.000"
},
{"app":"database_2",
 "host":"my_host2",
 "ip":"00.000.00.000"
}
Run Code Online (Sandbox Code Playgroud)

部分HTML代码:

    <div *ngFor='#appsUnique of apps '>
        <div class="row dashboard-row">
            <div class="col-md-2">
               <h4>{{appsUnique.app }}</h4>
            </div>
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

结果是:

database_1
database_1
database_2
database_2
Run Code Online (Sandbox Code Playgroud)

我想得到结果:

database_1
database_2
Run Code Online (Sandbox Code Playgroud)

如何从数组中删除重复项?

小智 11

Mybe它可以帮助你

myList = ["One","two","One","tree"];

myNewList =  Array.from(new Set(myList ));
Run Code Online (Sandbox Code Playgroud)


not*_*dev 6

我有一个解决这个问题的方法:)

Array.from(new Set([{"app":"database_1",
 "host":"my_host1",
 "ip":"00.000.00.000"
},
{"app":"database_1",
 "host":"my_host1",
 "ip":"00.000.00.000"
},
{"app":"database_2",
 "host":"my_host2",
 "ip":"00.000.00.000"
},
{"app":"database_2",
 "host":"my_host2",
 "ip":"00.000.00.000"
}].map((itemInArray) => itemInArray.app)))
Run Code Online (Sandbox Code Playgroud)

有关Array.from&Set的更多信息

谢谢大家的帮助:)