使用ng-repeat。过滤掉重复的值

时间:2014-09-30 03:14:39

标签: angularjs ng-repeat

希望有人能够为此提供一些帮助。我甚至无法为这个问题写出一个不错的标题。

我目前有一个包含名称和分数的数组。有时,数组将包含来自相同名称但具有不同分数的值。

例如:

$scope.name = [{
        'first': 'jim',
            'score': 10
    }, {
        'first': 'frank',
            'score': 90,
    }, {
        'first': 'jim',
            'score': 20
    }]

你可以在我的小提琴中看到这一点:http://jsfiddle.net/6yghdfg2/1/

<li ng-repeat="eachname in filteredName = (name) | orderBy:'first'">

我知道如何显示和排序数据,以便输出:

frank 
90
jim 
10
jim 
20

但是,我想知道是否仍然只显示每个名称一次,所以输出将是:

frank 
90
jim 
10
20

在这种情况下会使用ng-repeat吗?我一直在想我必须制作某种类型的过滤器或尝试做一些ng-show。真的不确定。

任何帮助将不胜感激!谢谢! Ť

1 个答案:

答案 0 :(得分:3)

<div ng-controller="MyCtrl">
    <ul>
        <li ng-repeat="eachname in filteredName = (name | orderBy:'first')">
            <span ng-show="filteredName[$index-1].first != filteredName[$index].first">
                {{eachname.first}} <br>
            </span>
            {{eachname.score}}
        </li>
    <ul>
</div>

演示:http://jsfiddle.net/p1t9yac9/