if (row.toState) { if ( !equipmentPortStatusChangeStore.colorRowName.some( item => item._X_ROW_KEY === row._X_ROW_KEY ) ) { equipmentPortStatusChangeStore.colorRowName.push(row); } if ( equipmentPortStatusChangeStore.selectLoadPort.length && equipmentPortStatusChangeStore.selectLoadPort.some( item => item._X_ROW_KEY === row._X_ROW_KEY ) ) { equipmentPortStatusChangeStore.selectLoadPort.forEach(item => { item.toState = row.toState; if ( !equipmentPortStatusChangeStore.colorRowName.some( obj => obj._X_ROW_KEY === item._X_ROW_KEY ) ) { equipmentPortStatusChangeStore.colorRowName.push(item); } }); } }优化这段代码
时间: 2024-02-14 15:26:35 浏览: 77
Mastering_Perl_Tk_1st_ed_2002.pdf
4星 · 用户满意度95%
要优化这段代码,可以考虑以下几点:
1. 使用对象字面量语法简化代码:可以使用对象字面量语法来初始化对象,避免重复调用对象的属性和方法。
2. 提取重复逻辑到函数中:将重复的逻辑提取出来,以减少代码冗余。
3. 使用 Set 数据结构去重:可以使用 Set 数据结构来存储唯一的行数据,避免使用数组的 includes 或 some 方法进行遍历查找。
下面是优化后的代码示例:
```javascript
if (row.toState) {
const { colorRowName, selectLoadPort } = equipmentPortStatusChangeStore;
const isRowExist = colorRowName.some(item => item._X_ROW_KEY === row._X_ROW_KEY);
if (!isRowExist) {
colorRowName.push(row);
}
if (selectLoadPort.length) {
selectLoadPort.forEach(item => {
if (item._X_ROW_KEY === row._X_ROW_KEY) {
item.toState = row.toState;
if (!isRowExist) {
colorRowName.push(item);
}
}
});
}
}
```
请注意,这只是一种可能的优化方式,具体优化方案还需要根据实际需求和代码逻辑进行调整。
阅读全文