如果是arr.split(' ').join('0')呢?
时间: 2023-09-16 22:12:04 浏览: 43
如果使用 `arr.split(' ').join('0')` 的话,它会先使用空格 `' '` 字符串作为分隔符,将字符串 `arr` 拆分成一个数组,然后使用 `'0'` 字符串作为连接符,将数组的每个元素连接起来。
假设 `arr` 是一个字符串,例如 `'1 2 3 4'`,使用 `arr.split(' ').join('0')` 会返回 `'10203040'`。
这里的 `'0'` 是作为连接符,用于在拆分后的数组元素之间进行连接。与之前提到的 `arr.join('0')` 不同,`arr.split(' ').join('0')` 是先通过空格拆分成数组,然后再用 `'0'` 连接数组的元素。
相关问题
优化 const { list } = form.value list.forEach(v => { if (Array.isArray(v.tenantPhoto)) { let arr = [] v.tenantPhoto?.forEach(v => { //去除头部地址 if (v.url) { v.url = '/profile' + v.url.split('/profile')[1] arr.push(v.url) } else { v = '/profile' + v?.split('/profile')[1] arr.push(v) } }) v.tenantPhoto = arr.join(',') } else { v.tenantPhoto = v.tenantPhoto.split(",") let arr = [] v.tenantPhoto?.forEach(v => { //去除头部地址 v = '/profile' + v?.split('/profile')[1] arr.push(v) }) v.tenantPhoto = arr.join(',') } })
可以尝试使用函数式编程的方式来重构这段代码,减少重复逻辑和嵌套,提高可读性和可维护性。具体实现可以使用 Array 的 map 和 join 方法来简化代码,如下所示:
```javascript
const { list } = form.value;
list.forEach(v => {
v.tenantPhoto = Array.isArray(v.tenantPhoto)
? v.tenantPhoto.map(photo => '/profile' + photo.url.split('/profile')[1] || '/profile' + photo.split('/profile')[1]).join(',')
: v.tenantPhoto.split(',').map(photo => '/profile' + photo.split('/profile')[1]).join(',');
});
```
这段代码可以将 `tenantPhoto` 数组或者逗号分隔的字符串转换成以 `/profile` 开头的字符串,并使用 join 方法将其连接成一个字符串。同时,使用 map 函数可以避免重复逻辑和嵌套。
function leaseSubmit() { let arr = [] house_label.value?.forEach(v => { if (v.isActive === true) { arr.push(v.value) } }) form.value.houseLabel = arr.join(",") let res = {} console.log(111, form.value); //去除头部地址 let imageUrl = [] form.value.picture?.split(",").forEach(v => imageUrl.push('/profile' + v.split('/profile')[1])) form.value.picture = imageUrl.join(",") proxy.$refs.uForm.validate(async (valid) => { if (valid) { if (form.value.id) { res = await uni.$u.api.neighbor.housingEdit(form.value) } else { res = await uni.$u.api.neighbor.housing(form.value) } if (res.success) { proxy.useToast({ title: "提交成功", }); setTimeout(() => { uni.navigateTo({ url: "/neighbor/houseRental/feedBack" }); }, 1000); } else { proxy.useToast({ icon: "error", title: "提交失败", }); } } }); } 优化
这段代码的功能不够清晰,缺少注释和变量命名不够规范,建议进行以下优化:
1. 增加注释说明每个部分的功能和作用;
2. 对变量进行规范的命名,尽量使用有意义的单词或者单词缩写;
3. 将重复的代码进行封装,减少代码冗余;
4. 将函数进行拆分,保证每个函数只处理一个任务;
5. 使用 async/await 简化异步调用。
以下是一个可能的优化示例:
```javascript
// 提交表单
async function leaseSubmit() {
// 获取房屋标签选中项的值
const selectedLabels = house_label.value?.filter(v => v.isActive).map(v => v.value) || []
form.value.houseLabel = selectedLabels.join(",")
// 去除图片地址中的前缀
const imageUrl = form.value.picture?.split(",").map(v => "/profile" + v.split("/profile")[1]) || []
form.value.picture = imageUrl.join(",")
// 验证表单
const valid = await proxy.$refs.uForm.validate()
if (!valid) {
return
}
const res = form.value.id
? await uni.$u.api.neighbor.housingEdit(form.value)
: await uni.$u.api.neighbor.housing(form.value)
if (res.success) {
proxy.useToast({ title: "提交成功" })
setTimeout(() => {
uni.navigateTo({ url: "/neighbor/houseRental/feedBack" })
}, 1000)
} else {
proxy.useToast({ icon: "error", title: "提交失败" })
}
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)