Ich möchte Index in Array finden. Positionen im Array sind Objekte, und ich möchte nach ihren Eigenschaften filtern. Ich weiß, welche Schlüssel ich filtern möchte und ihre Werte. Das Problem besteht darin, den Index des Arrays zu erhalten, das die Kriterien erfüllt.Index im Array von Objekten suchen
Für jetzt habe ich Code zum Filtern von Daten und gibt mir Objektdaten zurück, aber nicht Index von 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
nicht wirklich eine Antwort, aber sie verwendet haben könnte '_.findWhere' genau das gleiche Ergebnis zu erhalten, was Sie haben jetzt – soulcheck