Ho una matrice con oggetti. Voglio trovare l'indice di un oggetto specifico. Questo oggetto ha un valore unico id
proprieta', e posso trovare con un $filter
:Ottieni l'indice degli elementi dopo aver utilizzato il filtro
var el = $filter('filter')(tabs, { id: id })[0]; // "el" is my unique element
ma come faccio a sapere che cosa è l'indice di questo elemento nella sua matrice originale? $filter
può fornirmi queste informazioni?
Ormai non ho trovato una soluzione angolare, perché non riesco a ottenere informazioni molto utili su this page. Così ho usato s' Array
indexOf
metodo:
var el_index = tabs.indexOf(el);
Per ottenere gli indici di tutti gli elementi con specifica id
andiamo modo simile:
$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;
}
Ma è troppo lungo e sono sicuro che sto reinventando la ruota qui ...
bene! ho dimenticato di passare una funzione come argomento per un filtro – Cherniv