使用Ng重复与过滤器和重复记录

using Ng-repeat with filter and duplicate record

本文关键字:记录 过滤器 使用 Ng      更新时间:2023-09-26

我使用的是angularjs。我有一个包含记录和级别的数组,例如

[{id:1,level:1,partnerId:3},
{id:3,level:1,partnerId:''},
{id:5,level:1,partnerId:6},
{id:6,level:1,partnerId:''},
{id:7,level:2,partnerId:9},
{id:9,level:2,partnerId:''}]

我正在levelid上进行筛选,并获得正确的显示,但如果已经有一个元素存在,我将获得不想要的单个记录(例如,按顺序显示的项目将是CCD_ 2,但我不希望CCD_。我不知道如何检查它是否已经显示,然后不显示。是否可以使用指令或cssng-if?如果是指令,我甚至不知道如何编写。

只需创建一个获取唯一值的过滤器。类似这样的东西:

app.filter('unique', function() {
   return function(collection, keyname) {
      var output = [], keys = [];
      angular.forEach(collection, function(item) {
          var key = item[keyname];
          if (keys.indexOf(key) === -1) {
              keys.push(key);
              output.push(item);
          }
      });
      return output;
   };
});
<li ng-repeat="datax in individuals | unique: 'id'"></li>