data.forEach(v => { v.tenantPhoto = v.tenantPhoto.split(",")[0] }) leaseData.value = data 优化
时间: 2024-03-03 12:48:00 浏览: 23
可以使用数组的map方法代替forEach方法,同时使用解构赋值来简化代码:
```
leaseData.value = data.map(({ tenantPhoto, ...rest }) => ({ tenantPhoto: tenantPhoto.split(",")[0], ...rest }));
```
这样可以避免对原数组进行修改,同时也提高了代码的可读性和简洁性。
相关问题
async function getLeasePerson(id) { const { data } = await uni.$u.api.neighbor.leaseInfo(id) data?.forEach(item => { let arr = [] item.tenantPhoto.split(",")?.forEach(v => { arr.push({ url: v.includes(baseUrl) ? v : baseUrl + v }) }) item.tenantPhoto = arr // genderList.value.push(v.gender) }) if (data.length < 1) return form.value.list = data } 优化
根据您提供的代码,您可以尝试进行以下优化:
1.使用可选链运算符和空值合并运算符简化代码:
```
async function getLeasePerson(id) {
const { data } = await uni.$u.api.neighbor.leaseInfo(id);
const newData = data?.map(item => {
if (item.tenantPhoto) {
const arr = item.tenantPhoto.split(",").map(v => ({
url: v.includes(baseUrl) ? v : baseUrl + v
}));
item.tenantPhoto = arr;
}
return item;
});
form.value.list = newData ?? [];
}
```
2.将数据处理过程拆分为函数,并使用解构赋值简化代码:
```
async function getLeasePerson(id) {
const { data } = await uni.$u.api.neighbor.leaseInfo(id);
const newData = data?.map(handleItem);
form.value.list = newData ?? [];
}
function handleItem(item) {
const { tenantPhoto } = item;
if (tenantPhoto) {
const arr = tenantPhoto.split(",").map(v => ({
url: v.includes(baseUrl) ? v : baseUrl + v
}));
item.tenantPhoto = arr;
}
return item;
}
```
注意:以上优化方案都需要根据您的实际需求进行适当调整。
优化这段代码changeVal(data) { let {obj, i} = data; if (obj.relateField) { let checkList = ''; // 获取校验 obj.relateField.forEach(item => { Object.keys(item).forEach(val => { if (val == obj.elementValue) { checkList = item[Number(obj.elementValue)].split(',') } }) }) this.submitForm.factorlist[i].childBean.forEach(item => { checkList.forEach(val => { let splitItem = val.split('-'); if (item.elementName === splitItem[0]) { item.showHide = splitItem[1] === 'show'? true: false; } }) }) } },
优化后的代码如下:
changeVal(data) {
const { obj, i } = data;
const { relateField } = obj;
if (relateField) {
const checkList = relateField
.map(item => item[obj.elementValue])
.find(val => val !== undefined)
?.split(',') || [];
this.submitForm.factorlist[i].childBean.forEach(item => {
const [elementName, action] = checkList
.find(val => val.startsWith(`${item.elementName}-`))
?.split('-') || [];
if (elementName && action) {
item.showHide = action === 'show';
}
});
}
}
优化说明:
1. 使用解构赋值简化代码,提高代码可读性。
2. 使用了可选链运算符和空值合并语法,简化代码逻辑。
3. 使用了数组的 map、find 和 forEach 方法,提高代码可读性,降低了代码复杂度。
4. 增加了代码注释,提高了代码可维护性。
相关推荐
![js](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![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)