如何在angularjs中从列表中删除重复数据?

如何在angularjs中从列表中删除重复数据?,angularjs,Angularjs,我有一个带有下拉过滤器的json数据列表。列表按其名称分组。但一些数据正在重复。我不想列出重复的数据。如何做。请查看下面的链接。请帮助我。 angular.forEach($scope.locationList, function(item){ var locations = $scope.loacationByCategory[item.field_location_category[0]]; if(locations){ locations.push(item); }else{ $

我有一个带有下拉过滤器的json数据列表。列表按其名称分组。但一些数据正在重复。我不想列出重复的数据。如何做。请查看下面的链接。请帮助我。



angular.forEach($scope.locationList, function(item){
var locations = $scope.loacationByCategory[item.field_location_category[0]];
if(locations){
  locations.push(item);
}else{
  $scope.loacationByCategory[item.field_location_category[0]] = [item];
  $scope.categories.push(item.field_location_category[0]); 
}
});

谢谢。

您可以使用下划线或lodash来执行以下操作:

var uniqueLocations = _.uniq($scope.locationList, 'name');
这将确保每个
name
属性只存在一个唯一值。 更新的PRUNKR:


请注意,这将删除重复项,即使它们位于不同的类别中。您可以为
..uniq()
()编写自定义回调函数这将在类别中消除重复项,或者稍后在处理逻辑中进行筛选。

可能重复的可能重复项如果不需要多个名称,则您添加了它。我想这里的tid是唯一的。每个项目都有不同的tid。因此,如果要删除多个项目,请避免不同的tid和相同的名称。使用相同的tid和相同的名称更大的问题是,为什么JSON中存在重复项?它们具有相同的
名称
,但具有不同的
tid
。这通常表示它们是不同的项。这可能是您应该在数据库或体系结构级别更改的内容。