如何获取AngularJS中数组中的最后一条记录

时间:2015-02-26 11:56:36

标签: javascript arrays

我有一个对象数组ObjectsArr= [Object1 , Object2,Object3, Object4] 我想在我的视图中显示最后一个对象,如何在angularjs中做到这一点?

4 个答案:

答案 0 :(得分:28)

ObjectsArr[ObjectsArr.length - 1] - 这将为您提供数组中的最后一个元素 要在视图中显示它:
{{ObjectsArr[ObjectsArr.length - 1]}}

即使数组的条目为零,这也会有效。

答案 1 :(得分:19)

您可以使用ng-if指令并检查元素是否是最后一个:

ng-if="$last"

请参阅下面的演示

var app = angular.module('app', ['ui.bootstrap']);

app.controller('homeCtrl', function ($scope) {

$scope.data = [1,2,3]
   

});
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" type="text/css" />

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.14/angular.min.js"></script>
  <script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.12.0/ui-bootstrap-tpls.min.js"></script>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body >
  <div ng-app="app">
    <div ng-controller="homeCtrl">
<ul>
      <li ng-repeat="item in data" ng-if="$last">{{item}}</li>
</ul>
    </div>
    </div>
</body>
</html>

答案 2 :(得分:12)

要使用数组,我建议使用LodashUnderscore。 它将为您节省大量时间。

两者都有最后一种方法:

_.last([1, 2, 3]); //Will return 3

请参阅API和安装的链接。

至于在视图中查看结果,您可以在相关控制器中为结果指定范围变量并显示它。

控制器:

$scope.lastItem = _.last(array);

查看:

{{lastItem}}

答案 3 :(得分:0)

你可以反向使用!

count = [0,1,2,3]

count.reverse() 
//[3,2,1,0]

count[0];   
// 3