過濾掉對象內存在的數據的最佳方法是什麼?使用過濾器的Javascript /在對象數組上包含
我能夠使用下面的代碼,當data
只是一個值的數組,但現在我需要filter
了我的數組中的item.QID
存在的任何數據。
數據的OBJ:
var data = [{
QID: 'ABC123',
Name: 'Joe'
},
{
QID: 'DEF456',
Name: 'Bob
}]
段:
// I don't want to include data if this QID is in my object
this.employees = emp.filter(item =>!this.data.includes(item.QID));
據我瞭解,includes
只能陣列上,所以我需要把所有的QID
值的我對象作爲數組。
期望的結果:(假設item.QID = ABC123
)
this.employees = emp.filter(item =>!this.data.includes('ABC123'));
結果:
var data = [{
QID: 'DEF456',
Name: 'Bob'
}]
UPDATE: 道歉,我留下了一些東西有點不清楚試圖只包括必要的東西。
// 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 = [];
});
上面的代碼是我正在使用的。 data
是我想通過篩選出來的類型超前結果排除的用戶的對象。
凡'emp'定義? – guest271314
@ guest271314-我添加了一些我所忽略的內容 – SBB