嗨,我正在使用Angular 5,我想针对另一个数组中的多个ID按ID过滤数组Observable
。
onSelectedChange(event) {
console.log(event);
this.selectedAreas = [11,12,15,19,18,16,22];
return this.readers$
.map(projects => projects.filter(proj => proj.AreaId == 13||15||16||18)) //
.subscribe(data => {
console.log(data);
this.filteredReaders = data;
})
}
我想要类似选择 id中的ID
的操作答案 0 :(得分:2)
您可以使用Array.includes():
this.selectedAreas.includes(proj.AreaId)
答案 1 :(得分:1)
使用array.indexOf
let possibleValues = [13,15,16,18]
projects.filter(proj => possibleValues.indexOf(proj.AreaId)!= -1)
和ES6,您可以使用 Array.includes
this.selectedAreas.includes(proj.AreaId)
答案 2 :(得分:1)
你很近。这应该满足您的要求
return this.readers$
.map(projects => projects.filter(proj => [13, 15, 16, 18].includes(proj.AreaId)))
.subscribe(data => {
console.log(data);
this.filteredReaders = data;
})
答案 3 :(得分:0)
使用数组和indexOf
let possibleValues = [13,15,16,18]
projects.filter(proj => possibleValues.indexOf(proj.AreaId)!= -1)