下面是我的数组:
$scope.Statistics = [];
此统计数组包含如下记录:
['Usa'] : regions:
[0] : name : 'chicago'
[1] : name : 'miami'
[2] : name : 'alaska'
[3] : name : 'washington'
这是我的循环:
<tr ng-repeat="region in Statistics[currentRegion].regions">
<a data-ng-click="Myfunc(region.name)">
</a>
</tr>
$scope.currentRegion = 'Usa';
$scope.Myfunc = function (region) {
$scope.currentIndex = $scope.Statistics[$scope.currentRegion].regions.indexOf(region);
console.log($scope.currentIndex); // -1
}
以下是我遇到的错误:
indexOf()方法返回给定元素的第一个索引 可以在数组中找到,如果不存在,则返回-1。
如何从此统计数组中找到相应的区域?
答案 0 :(得分:1)
传入整个对象并获取该对象在数组中的索引。
您正在尝试获取数组中对象属性的索引,但该数组包含整个对象
更改为
<a data-ng-click="Myfunc(region)">
或者您已经可以使用$index
中的ng-repeat
访问索引,只要您不对原始数组使用任何过滤