Javascript 重复一次

Javascript 重复一次,javascript,angularjs,angularjs-ng-repeat,ng-repeat,Javascript,Angularjs,Angularjs Ng Repeat,Ng Repeat,我有一个角度重复函数。它完美地重复了我列表中的所有项目,但我需要这些项目只显示一次 HTML: <div class="list"> <div class="item item-stable" ng-repeat="departure in flightSource" padding="false" ng-click="custom=!custom"> <div class="center"> Terminal

我有一个角度重复函数。它完美地重复了我列表中的所有项目,但我需要这些项目只显示一次

HTML

<div class="list">
    <div class="item item-stable" ng-repeat="departure in flightSource" padding="false" ng-click="custom=!custom">
        <div class="center">
            Terminal {{departure.airportResources.departureTerminal}}
            <div ng-hide="custom">hello</div>
        </div>
    </div>
</div>

您可以使用如下自定义过滤器:

<div ng-repeat="d in Resources | unique: 'airportResources.departureTerminal'">
    <div class="center">
        Terminal {{d.airportResources.departureTerminal}}
    </div>
</div>

终端{d.airportResources.departminal}
作为额外的奖励,您不必自己编写自定义过滤器。它是名为Angular UI的配套库的一部分。我已在以下位置为您实施了解决方案:


您需要一个自定义筛选器或一个中间列表,可以从控制器中的出发列表中创建。因此,您不想显示具有相同出发点的多个airportResources?在Angular JS控制器中,使用for循环循环JSON并将数据推送到本地数组中,然后将“推送”放入if语句中的命令,用于检查本地数组中是否已存在同名元素。例如,“terminal=4”,如果本地数组中的所有数据不包含“terminal=4”,则按,否则跳过该项并转到下一项。完成后,使用本地阵列在前端重复ng。希望这有帮助。但是你为什么不想显示同一个航站楼呢?航站楼是一样的,但航班是不同的。@linstantnoodles是的,这就是我想做的,但在视图中只显示一次出发航站楼。所以它会显示“1号端子,2号端子,3号端子”。不是“1号终端。2号终端,2号终端,3号终端”。@user2190986好的,我会试试这个解决方案。假设用户选择了终端2,那么将显示包含终端2的所有项的门阵列
<div ng-repeat="d in Resources | unique: 'airportResources.departureTerminal'">
    <div class="center">
        Terminal {{d.airportResources.departureTerminal}}
    </div>
</div>