Mam tablicę z obiektami. Chcę znaleźć indeks konkretnego obiektu. Obiekt ten posiada unikalną właściwość”wartość id
i mogę go znaleźć z $filter
:Pobierz indeks elementu po użyciu filtru
var el = $filter('filter')(tabs, { id: id })[0]; // "el" is my unique element
Ale jak mogę wiedzieć, co to jest indeks tego elementu w jego oryginalna tablica? Czy $filter
może dostarczyć mi tych informacji?
Do tej pory nie znalazłem kątowym rozwiązanie, bo nie mogę dostać wiele przydatnych informacji na temat this page. Więc użyłem Array
„s indexOf
metoda:
var el_index = tabs.indexOf(el);
Aby uzyskać indeksy wszystkich elementów ze szczególnym id
idziemy podobny sposób:
$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;
}
Ale To jest za długie i jestem pewien, że wymyślam tutaj koło ...
dobro! Zapomniałem o przekazywaniu funkcji jako argumentu do filtra – Cherniv