加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 在ng-repeat中显示具有重复出现次数的唯一项目

发布时间:2020-12-17 17:01:52 所属栏目:安全 来源:网络整理
导读:我有一个低于 JSON: [{"brand":"abc"},{"brand":"xyz"},{"brand":"abc"},{"brand":"por"},{"brand":"xyz"}] 使用ng-repeat,我如何显示如下 – Brand Occurancesabc (3)xyz (2)por (1) 即品牌名称(同一品牌名称的重复出现次数)? 解决方法 您可以创建一个自
我有一个低于 JSON:

[{"brand":"abc"},{"brand":"xyz"},{"brand":"abc"},{"brand":"por"},{"brand":"xyz"}]

使用ng-repeat,我如何显示如下 –

Brand Occurances
abc      (3)
xyz      (2)
por      (1)

即品牌名称(同一品牌名称的重复出现次数)?

解决方法

您可以创建一个自定义函数,该函数将使用repeatvie值从现有数组返回计数(出现)

与过滤器一起显示JSON中的唯一值:

$scope.getCount = function(i) {
    var iCount = iCount || 0;
    for (var j = 0; j < $scope.brands.length; j++) {
      if ($scope.brands[j].brand == i) {
        iCount++;
      }
    }
    return iCount;
  }

AND过滤器将如下所示:

app.filter('unique',function() {

  return function (arr,field) {
    var o = {},i,l = arr.length,r = [];
    for(i=0; i<l;i+=1) {
      o[arr[i][field]] = arr[i];
    }
    for(i in o) {
      r.push(o[i]);
    }
    return r;
  };
})

Working Plunkr

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读