オブジェクトを含む配列があります。特定のオブジェクトのインデックスを見つけたい。このオブジェクトには一意のid
プロパティ値があり、次の値で見つけることができます$filter
:
var el = $filter('filter')( tabs, { id: id })[0]; // "el" is my unique element
しかし、元の配列内のこの要素のインデックスはどうすればわかりますか? $filter
この情報を提供してもらえますか?
このページではあまり有用な情報を得ることができないため、Angular ソリューションは見つかりませんでした。だから私は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;
}
しかし、それは長すぎるので、ここで車輪を再発明していると確信しています...