if (res?.defaultCondition?.conditionParameter) { activeCondition.value = 'filter'; } else { if (res?.defaultCondition?.conditionSort) { activeCondition.value = 'sort'; } else { activeCondition.value = 'statistic'; } }简化代码
时间: 2023-12-14 19:40:06 浏览: 95
可以将上述代码简化为:
```
activeCondition.value = res?.defaultCondition?.conditionParameter ? 'filter' :
res?.defaultCondition?.conditionSort ? 'sort' :
'statistic';
```
这里使用了三元运算符来代替 if-else 语句,同时也利用了可选链运算符 `?.` 来避免空指针异常。
相关问题
if (res?.defaultCondition?.conditionParameter) { activeCondition.value = 'filter' } else { if (res?.defaultCondition?.conditionSort) { activeCondition.value = 'sort' } else { if (res?.defaultCondition?.conditionGroup) { activeCondition.value = 'statistic' } else { activeCondition.value = 'filter' } } }简化代码
可以将上述代码简化为以下形式:
```
activeCondition.value = res?.defaultCondition?.conditionParameter ? 'filter' :
res?.defaultCondition?.conditionSort ? 'sort' :
res?.defaultCondition?.conditionGroup ? 'statistic' :
'filter';
```
这里使用了条件运算符(ternary operator)来代替多层嵌套的 if-else 语句,使代码更加简洁易懂。
可以优化一下这段代码吗? function echoValueByKey (id, list, key, value) { let res if (list.length == 0) { return "--" } else { if (Array.isArray(id)) { res = [] id?.forEach(item => { list?.forEach(item2 => { if (item == item2[key]) { res.push(item2[value]) } }) }) return res.join("、") || "--" } else { list?.forEach(item => { if (item[key] == id) { res = item[value] } }) return res || "--" } } }
可以优化这段代码。可以使用 Array.prototype.filter() 和 Array.prototype.map() 方法来简化代码,如下所示:
function echoValueByKey(id, list, key, value) {
let res;
if (list.length === ) {
return "--";
} else {
if (Array.isArray(id)) {
res = list.filter(item => id.includes(item[key])).map(item => item[value]);
return res.join("、") || "--";
} else {
res = list.find(item => item[key] === id)?.[value];
return res || "--";
}
}
}
阅读全文