以下代码旨在通过dishname中列出的条件过滤数组菜单项:
if (dishname && dishname.trim() != ''){
this.menuitems = this.menuitems.filter((item) =>{
return item.eName.toLowerCase().indexOf(dishname.toLowerCase()) > -1})
如果dishname是一个数组,我怎么能完成这个?
提前致谢!
答案 0 :(得分:0)
将这部分代码解压缩为单个方法,并在交互中使用它,例如。简单的循环
//declare at the beginning of the class
filteredMenu =[]
//somewhere in your code
for(let i=0; i<this.dishnameArray.length; i++) {
this.filteredMenu.push(this.filterMenu(this.dishnameArray[i]))
}
//somewhere later inside class, the function
filterMenu(dishname) {
let pos = this.menuItems.indexOf(dishname.trim().toLowerCase())
if(pos!==-1) return this.menuItems[pos]
return //just return if nothing found
}
稍后使用过滤菜单进行菜单显示。当然,这不是太精确的做法。也许你可以在这里改进某种逻辑,也许你不需要过滤你的数组,或者通过角管来做。但这只是某种解决方案。选择是你的。