Was ist der beste Weg, um Daten aus einem Objekt herauszufiltern?Javascript mit Filter/enthält auf einem Array von Objekten
konnte ich den Code unten tun verwenden, wenn data
nur ein Array von Werten war aber jetzt brauche ich keine Daten an filter
, wo die item.QID
in meinem Array von Objekten besteht.
Daten Obj:
var data = [{
QID: 'ABC123',
Name: 'Joe'
},
{
QID: 'DEF456',
Name: 'Bob
}]
Snippet:
// I don't want to include data if this QID is in my object
this.employees = emp.filter(item =>!this.data.includes(item.QID));
Von dem, was ich verstehe, includes
funktioniert nur auf einem Array, damit ich all die QID
Werte behandeln müssen in meinem Objekt als ein Array.
Gewünschtes Ergebnis: (unter der Annahme item.QID = ABC123
)
this.employees = emp.filter(item =>!this.data.includes('ABC123'));
Ergebnis:
var data = [{
QID: 'DEF456',
Name: 'Bob'
}]
UPDATE: Apologies, ich einige Dinge links ein wenig unklar, die nur versuchen, umfassen notwendige Sachen.
// People Search
this.peopleSearchSub = this.typeahead
.distinctUntilChanged()
.debounceTime(200)
.switchMap(term => this._mapsService.loadEmployees(term))
.subscribe(emp => {
// Exclude all of the current owners
this.employees = emp.filter((item) => item.QID !== this.data.QID);
}, (err) => {
this.employees = [];
});
Der obige Code ist, woran ich arbeite. data
ist ein Objekt von Benutzern, die ich aus meinen Schnelladressierungsergebnissen ausschließen möchte, indem Sie sie ausfiltern.
Wo ist 'emp' definiert? – guest271314
@ guest271314- Ich habe ein wenig mehr Kontext um was ich weggelassen – SBB