优化 if (houseName && building) { const params = { houseName, building, cell: cellISDisabled.value ? cell : null, }; const { data } = await uni.$u.api.house.getDetailBy(params); data ? form.value.id = data.id:'' score.forEach(v =>{ form.value[v.value] = data ? data[v.value] :0 }) }
时间: 2024-04-15 18:30:59 浏览: 120
优化后的代码如下:
```javascript
if (houseName && building) {
const params = {
houseName,
building,
cell: cellISDisabled.value ? cell : null,
};
const { data } = await uni.$u.api.house.getDetailBy(params);
if (data) {
form.value.id = data.id;
score.forEach(v => {
form.value[v.value] = data[v.value] ? data[v.value] : 0;
});
}
}
```
在优化后的代码中,我们仍然首先判断 `houseName` 和 `building` 是否存在,然后创建 `params` 对象。接下来,我们通过 `await` 关键字异步获取数据,并将结果解构赋值给 `data`。如果 `data` 存在,则将其属性值分别赋给 `form.value.id` 和 `form.value[v.value]`。这样可以避免在条件语句中重复使用 `data`,同时保持代码的可读性和简洁性。
相关问题
请优化 const params = { houseName, building, cell: cellISDisabled.value ? cell : null, }; if(ellISDisabled.value){ if (houseName && building) { const { data } = await uni.$u.api.house.getDetailBy(params); form.value.id =data ? data.id:null score.forEach(v =>{ form.value[v.value] = data ? data[v.value] :0 }) } }else if(houseName && building && cell){ const { data } = await uni.$u.api.house.getDetailBy(params); form.value.id =data ? data.id:null score.forEach(v =>{ form.value[v.value] = data ? data[v.value] :0 }) } }
优化后的代码如下:
```javascript
const params = {
houseName,
building,
cell: cellISDisabled.value ? cell : null,
};
if ((cellISDisabled.value && houseName && building) ||
(!cellISDisabled.value && houseName && building && cell)) {
const { data } = await uni.$u.api.house.getDetailBy(params);
form.value.id = data ? data.id : null;
score.forEach(v => {
form.value[v.value] = data ? data[v.value] : 0;
});
}
```
在优化后的代码中,我们首先创建了 `params` 对象,其中 `cell` 的值根据 `cellISDisabled.value` 的真假来决定是否赋值为 `cell` 变量的值或 `null`。然后,我们使用条件语句来判断执行的逻辑。如果 `cellISDisabled.value` 为真,则进入第一个条件分支;如果为假,则进入第二个条件分支。在每个条件分支中,我们都执行相同的操作:异步获取数据,并根据数据的存在与否来赋值给 `form.value.id` 和 `form.value[v.value]`。这样可以避免重复的代码,并保持逻辑的清晰性和可读性。
请优化 if ((cellISDisabled.value &&houseName && building) || (cell &&houseName && building)) { const params = { houseName, building, cell, };
优化后的代码如下:
```javascript
if (houseName building) {
const params = {
houseName,
building,
cell: cellISDisabled.value ? cell : null,
};
}
```
在优化后的代码中,我们首先判断 `houseName` 和 `building` 是否存在,如果存在,则创建 `params` 对象,其中 `cell` 的值根据 `cellISDisabled.value` 的真假来决定是否赋值。如果 `cellISDisabled.value` 为真,则将 `cell` 的值赋为 `cell` 变量的值,否则将 `cell` 的值赋为 `null`。这样可以简化原始代码并保持相同的逻辑。
阅读全文