【发布时间】:2013-10-03 18:00:18
【问题描述】:
我有一个包含对象的数组。我想找到一个特定对象的索引。这个对象有一个独特的id 属性值,我可以用$filter 找到它:
var el = $filter('filter')( tabs, { id: id })[0]; // "el" is my unique element
但是我怎么知道这个元素在它的原始数组中的索引是什么? $filter 可以提供这些信息吗?
到目前为止,我还没有找到 Angular 解决方案,因为我无法在 this page 上获得太多有用的信息。所以我使用了Array的indexOf方法:
var el_index = tabs.indexOf( el );
要获取具有特定id 的所有元素的索引,我们采用类似的方式:
$scope.getTabsIndexes = function(id){
var els = $filter('filter')( tabs , { id: id });
var indexes = [];
if(els.length) {
var last_i=0;
while( els.length ){
indexes.push( last_i = tabs.indexOf( els.shift() , last_i ) );
}
}
return indexes;
}
但它太长了,我确定我在这里重新发明轮子......
【问题讨论】:
标签: javascript angularjs angularjs-filter