简体   繁体   中英

How to get the last record in an array in AngularJS

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

ObjectsArr[ObjectsArr.length - 1] -- this will give you the last element in the array.
To display it in view:
{{ObjectsArr[ObjectsArr.length - 1]}}

This will work even when the array has zero entries.

You can use ng-if directive and check if element is last by:

ng-if="$last"

please see demo below

 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> 

For working with Arrays I recommend Lodash or Underscore . It will save you a lot of time in the future.

Both have last method:

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

See the links for API and installation.

As for viewing the result in the view, you can assign a scope variable in the relevant controller for the result and show it.

Controller:

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

View:

{{lastItem}}

you can use reverse!

count = [0,1,2,3]

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

count[0];   
// 3

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM