优化js代码,不使用if语句。 if(selectedRows.getLength() == 0 ){ AlertDialog("确定", "未选中记录"); }else if(otherState){ AlertDialog("确定", "选中行存在已审批行,请取消勾选再操作"); }else if(existOldCustomer){ AlertDialog("确定", "选中行存在在库客户,请进入窗体内审批"); }else if(isSales && !waitState && draftState && !otherState){ batchAudit('销售员',textInfo,SelectedControl); }else if(isGroupLeader && !otherState && !draftState){ batchAudit('销售主管',textInfo,SelectedControl); }else if(isManager && !otherState && !draftState){ batchAudit('销售经理',textInfo,SelectedControl); }else { AlertDialog("确定", "草稿状态待销售人员确认"); }
时间: 2024-04-15 11:30:31 浏览: 13
可以通过使用对象映射来优化这段代码,避免使用大量的if语句。你可以创建一个映射对象,将条件与相应的操作关联起来,然后根据条件查找对应的操作并执行。
```javascript
const conditions = [
{
condition: selectedRows.getLength() == 0,
action: () => AlertDialog("确定", "未选中记录")
},
{
condition: otherState,
action: () => AlertDialog("确定", "选中行存在已审批行,请取消勾选再操作")
},
{
condition: existOldCustomer,
action: () => AlertDialog("确定", "选中行存在在库客户,请进入窗体内审批")
},
{
condition: isSales && !waitState && draftState && !otherState,
action: () => batchAudit('销售员',textInfo,SelectedControl)
},
{
condition: isGroupLeader && !otherState && !draftState,
action: () => batchAudit('销售主管',textInfo,SelectedControl)
},
{
condition: isManager && !otherState && !draftState,
action: () => batchAudit('销售经理',textInfo,SelectedControl)
},
{
condition: true,
action: () => AlertDialog("确定", "草稿状态待销售人员确认")
}
];
const matchedCondition = conditions.find(condition => condition.condition);
matchedCondition.action();
```
这样,你可以根据条件动态地选择相应的操作,避免冗长的if语句。注意,`conditions`数组中的最后一个条件是`true`,它充当了默认条件,可以匹配所有未满足前面条件的情况。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)