Javascript 如何根据Angular 5中的多个值过滤一个变量?
嗨,我正在使用Angular 5,我想通过一个id对另一个数组中的多个id过滤一个数组的Javascript 如何根据Angular 5中的多个值过滤一个变量?,javascript,angular,observable,Javascript,Angular,Observable,嗨,我正在使用Angular 5,我想通过一个id对另一个数组中的多个id过滤一个数组的可观察的 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
可观察的
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;
})
}
我想要一些类似于在ids中选择id的内容,您可以使用:
this.selectedAreas.includes(proj.AreaId)
您可以使用:
使用数组和
indexOf
let possibleValues = [13,15,16,18]
projects.filter(proj => possibleValues.indexOf(proj.AreaId)!= -1)
使用数组和
indexOf
let possibleValues = [13,15,16,18]
projects.filter(proj => possibleValues.indexOf(proj.AreaId)!= -1)
使用array.indexOf
let possibleValues = [13,15,16,18]
projects.filter(proj => possibleValues.indexOf(proj.AreaId)!= -1)
使用ES6,您可以使用
this.selectedAreas.includes(proj.AreaId)
使用array.indexOf
let possibleValues = [13,15,16,18]
projects.filter(proj => possibleValues.indexOf(proj.AreaId)!= -1)
使用ES6,您可以使用
this.selectedAreas.includes(proj.AreaId)
你很接近。这应该满足您的要求
return this.readers$
.map(projects => projects.filter(proj => [13, 15, 16, 18].includes(proj.AreaId)))
.subscribe(data => {
console.log(data);
this.filteredReaders = data;
})
你很接近。这应该满足您的要求
return this.readers$
.map(projects => projects.filter(proj => [13, 15, 16, 18].includes(proj.AreaId)))
.subscribe(data => {
console.log(data);
this.filteredReaders = data;
})
proj=>arrayObject.includes(proj.AreaId)
谢谢,它可以工作proj=>arrayObject.includes(proj.AreaId)
谢谢,它可以工作