JavaScript 代码优化:使用 map 简化附件处理
JavaScript 代码优化:使用 map 简化附件处理
以下代码展示了如何使用 JavaScript 的 map 方法优化附件处理代码,简化代码逻辑,提高代码可读性。
原始代码:
let evaluateApplyForm = []
this.assessmentForm.attachments.forEach(file => {
let { extensionName, fileId, name,smallImgUrl } = file
// 处理heic格式图片
if (extensionName.toLowerCase().includes('heic')) {
extensionName = 'jpg'
if(smallImgUrl){
fileId = fileId.toLowerCase().replace('.heic', '.jpg')
}
}
let obj = {
extensionName,
name: name,
key: smallImgUrl ? file.key : `ContingencyManage/${fileId}`,
source: smallImgUrl ? file.source : file.tag2 ? 1 : 0,
size: file.fileLength || file.size,
username: this.curUserName,
uploadTime: dayjs(Date.now()).format('YYYY-MM-DD HH:mm')
}
evaluateApplyForm.push(obj)
})
优化后的代码:
const evaluateApplyForm = this.assessmentForm.attachments.map(file => {
let { extensionName, fileId, name, smallImgUrl } = file;
// 处理heic格式图片
if (extensionName.toLowerCase().includes('heic')) {
extensionName = 'jpg';
fileId = smallImgUrl ? fileId.toLowerCase().replace('.heic', '.jpg') : `ContingencyManage/${fileId}`;
}
return {
extensionName,
name: name,
key: smallImgUrl ? file.key : fileId,
source: smallImgUrl ? file.source : file.tag2 ? 1 : 0,
size: file.fileLength || file.size,
username: this.curUserName,
uploadTime: dayjs(Date.now()).format('YYYY-MM-DD HH:mm')
};
});
// 简化了代码,使用了map代替forEach,并且将let声明的变量改为const声明。还将obj改为直接返回对象。
优化说明:
- 使用
map方法代替forEach方法,可以更简洁地生成新的数组。 - 使用
const声明变量,可以提高代码可读性,并防止意外修改变量值。 - 直接返回对象,简化代码逻辑。
结论:
通过使用 map 方法和 const 声明,可以优化代码逻辑,提高代码可读性,并简化代码结构。
原文地址: https://www.cveoy.top/t/topic/lDUp 著作权归作者所有。请勿转载和采集!