У меня есть массив объектов ObjectsArr= [Object1 , Object2,Object3, Object4]
Я хочу показать на мой взгляд последний объект, как это сделать в angularjs?
Как получить последнюю запись в массиве в AngularJS
Ответ 1
ObjectsArr[ObjectsArr.length - 1]
- это даст вам последний элемент массива.
Чтобы отобразить его в поле зрения: {{ObjectsArr[ObjectsArr.length - 1]}}
Это будет работать, даже если массив имеет нулевые записи.
Ответ 2
Вы можете использовать директиву 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>
Ответ 3
Для работы с массивами я рекомендую Lodash или Underscore. Это сэкономит вам много времени в будущем.
Оба имеют последний метод:
_.last([1, 2, 3]); //Will return 3
См. ссылки для API и установки.
Что касается просмотра результата в представлении, вы можете назначить переменную области видимости в соответствующем контроллере для результата и показать его.
Контроллер:
$scope.lastItem = _.last(array);
Вид:
{{lastItem}}
Ответ 4
вы можете использовать обратное!
count = [0,1,2,3]
count.reverse()
//[3,2,1,0]
count[0];
// 3