Angular.js获取ng-repeat中2d数组中最后一个元素的索引

时间:2013-09-12 19:59:56

标签: javascript arrays angularjs

我的控制器中有这个2d数组:

1 2 6
1 2 7 9
2
1 5 3 2 6

我需要向用户显示每行的最后一个元素(例如:6,9,2,6) 我想我需要使用指令 ng-repeat 的某种组合,或者使用角度过滤器获取数组的 $ last 索引。

这是我的所作所为,但不起作用:

<div ng-repeat="row in array">
 {{row[$last].property}}
</div>

由于

2 个答案:

答案 0 :(得分:2)

示例:http://jsfiddle.net/TheSharpieOne/cLHcU/
请注意,在较新版本的angular中,您必须注册控制器,而不是将其投放到全局窗口对象上。以下是使用1.4的示例:http://jsfiddle.net/TheSharpieOne/cLHcU/42/(注意:重复保持不变)。

HTML /模板:(所有工作都在这里完成)无需嵌套重复。

<span ng-repeat="arr in myArr">
    {{arr[arr.length-1]}}
</span>

控制器:(只有数组)

function myCtrl($scope) {
    $scope.myArr = [[1,2,6],[1,2,7,9],[2],[1,5,3,2,6]];
}

答案 1 :(得分:2)

ng-repeat documentation $last中所述,boolean值不是索引:

  

如果重复元素在迭代器中是最后一个,则返回true。

所以正确的语法是

{{row[row.length-1].property}}