这是老师StoreList.vue文件的getList的部分源代码
// 如果用户输入了关键字,则通过书名进行关键字匹配(搜索算法)
Object.keys(this.list).filter(key => { //
this.list[key] = this.list[key].filter(book => book.fileName.indexOf(keyword) >= 0)
return this.list[key].length > 0
})
我理解的是这里的 this.list 是通过mock接口拿到的所有分类下,所有书的一个对象数组,然后对这个对象的键名数组进行遍历,查出每个分类数组的名字是否与keyword匹配。
我不明白的对 Object.keys 进行filter时候,没有变量接收这个filter函数的返回值,那这里用filter的意义是什么呢?如果是用来控制Featured组件的循环数量,那就应该用另外一个变量来循环,这里的用于循环的list变量,即使它某个属性的数组长度为0,vue还是会循环出来。
麻烦老师帮我看看,谢谢老师!