我有一个以下 JSON:
[{"brand":"abc"},{"brand":"xyz"},{"brand":"abc"},{"brand":"abc"},{"brand":"por"},{"brand":"xyz"}]
使用
ng-repeat
,我如何显示 -Brand Occurances
abc (3)
xyz (2)
por (1)
即品牌名称(相同品牌名称重复出现的次数)?
最佳答案
您可以创建一个自定义函数,该函数将从具有重复值(出现次数)的现有数组中返回计数
与过滤器一起显示来自 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;
}
并且过滤器将如下所示:
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
关于angularjs - 在 ng-repeat 中显示具有重复出现次数的唯一项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39382834/