优化这段代码 if ( this.packageList.length > 0) { this.packageList.forEach(k => { k.seachShow = false k.filterResult = [] k.tempList.forEach(obj => { const index = k.filterResult.findIndex(item => item.classNameList === obj.classNameList && item.classIdList === obj.classIdList ); if (index === -1) { k.filterResult.push(obj); } }); }) }
时间: 2024-02-10 15:31:14 浏览: 129
这段代码可以进行如下优化:
1. 使用for...of替代forEach。for...of相比forEach在性能上更优秀,因为forEach会创建一个回调函数,而for...of会直接操作数组元素。
2. 使用解构赋值简化代码。可以将k.tempList和k.filterResult解构出来,这样就不需要在代码中多次引用k。
3. 使用Set数据结构去重。使用Set可以帮助我们快速去重,同时也可以简化代码。
下面是优化后的代码:
```
if (this.packageList.length > 0) {
for (const k of this.packageList) {
k.seachShow = false;
const { tempList, filterResult } = k;
k.filterResult = [...new Set(tempList)];
}
}
```
阅读全文