我必须记录数组中的最后一个元素。我试试这段代码:
$scope.t=["item1","item2","item3"];
$scope.tablng= $scope.t.length ;
console.log( $scope.t[$scope.tablng]);
但我得undefined
。我该如何解决呢
答案 0 :(得分:2)
在数组中,索引从0开始,因此您必须减去1到您检索的长度以获取数组中的最后一个元素。快速修复
$scope.t=["item1","item2","item3"];
$scope.tablng = $scope.t.length;
console.log( $scope.t[$scope.tablng-1]);
更好的方法是确定数组是否为空,因为在这种情况下$scope.tablng
将为-1,这又是undefined
$scope.t=["item1","item2","item3"];
if ($scope.t.length > 0) {
$scope.tablng = $scope.t.length-1;
console.log( $scope.t[$scope.tablng]);
} else {
// the array is empty
}
JSFiddle:https://jsfiddle.net/56jyjjwt/1/
答案 1 :(得分:0)
您可以编写原型函数:
Array.prototype.last=function(){
return this[this.length-1];
};
$scope.t=["item1","item2","item3"];
console.log($scope.t.last()); //"item3"
答案 2 :(得分:0)
当你得到数组中的第一项时:array [0]
获取数组中的最后一项:array [length-1]
在你的代码中:
console.log( $scope.t[$scope.tablng-1]);