Mi piacerebbe trovare l'indice nella matrice. Le posizioni nell'array sono oggetti e voglio filtrare le loro proprietà. So quali chiavi voglio filtrare e i loro valori. Il problema è di ottenere l'indice dell'array che soddisfa i criteri.Trova indice nella matrice di oggetti
Per ora ho creato il codice per filtrare i dati e restituire i dati oggetto, ma non l'indice dell'array.
var data = [
{
"text":"one","siteid":"1","chid":"default","userid":"8","time":1374156747
},
{
"text":"two","siteid":"1","chid":"default","userid":"7","time":1374156735
}
];
var filterparams = {userid:'7', chid: 'default'};
function getIndexOfArray(thelist, props){
var pnames = _.keys(props)
return _.find(thelist, function(obj){
return _.all(pnames, function(pname){return obj[pname] == props[pname]})
})};
var check = getIndexOfArray(data, filterparams); // Want to get '2', not key => val
non proprio una risposta, ma si potrebbe avere utilizzato '_.findWhere' per ottenere esattamente lo stesso risultato di quello che hai ora – soulcheck