Ich habe ein Array von Objekten, die ich filtern würde mit einer contains/any-Methode für eine Eigenschaft mit Unterstrich.Verwenden von Underscore.js zum Filtern eines Array von Objekten auf einer Eigenschaft mit einem "enthält"
Zum Beispiel, wenn ich die folgenden Variablen hat:
var people = [
{
name: 'Dave',
age: 26
},
{
name: 'Frank',
age: 23
}];
var allowedAges = [20, 23, 24];
würde Ich mag Strich verwenden, mit dem Ergebnis am Ende wie:
var allowedPeople = [];
_.each(_.where(people, { age: _.any()}), function (person) {
allowedPeople.push(person);
});
Und es auch Fälle geben kann, wo allowedAges ist ein Array von Objekten und die ID möchte das contains/any auf dem People Array verwenden, das eine Eigenschaft der Objekte in allowedAges verwendet.
Das OP bat um eine Unterstrichlösung, keine einfache js-Lösung. Ich kann das nicht ablehnen, weil Sie die Frage wie gewünscht beantwortet haben, und die pure js Lösung kann als zusätzliche Information angesehen werden, aber warum ist das reine js Zeug überhaupt notwendig, da das OP eine Frage zu Unterstreichung explizit gestellt hat? Und warum ist der "native" Teil Ihrer Antwort zuerst? –
@EngineerDollery "Ich möchte Unterstreichung verwenden" Bedeutet nicht, dass er Unterstreichung verwenden muss, nein, wo haben sie gesagt "Dies muss mit Unterstreichung durchgeführt werden" – George
@EngineerDollery Um die eingebauten Methoden zu fördern. Eine Menge Leute vergessen sie, aber in den meisten Browsern wird die Unterstreichung einfach auf sie verschoben (der Unterstrich ist größtenteils ein Polyfill von vor den funktionierenden Methoden der Arrays). Da das OP nach Unterstreichung gefragt hat, ist die äquivalente Lösung nur für den Fall vorhanden. – ssube