function getDayName(input_day) { // 一天里一共的毫秒数 let oneDayTime = 1000 * 60 * 60 * 24 let today = new Date(input_day) // 若那一天是周末时,则强制赋值为7 let todayDay = today.getDay() || 7 let startDate = new Date( today.getTime() - oneDayTime * (todayDay - 1) ) let dateList = new Array() for (let i = 0; i < 7; i++) { let temp = new Date(startDate.getTime() + i * oneDayTime) let year = temp.getFullYear() let month = temp.getMonth() + 1 let day = temp.getDate() dateList[i] = `${year}-${(month < 10 ? ('0' + month) : month)}-${(day < 10 ? ('0' + day) : day)}` } return dateList } 代码优化
时间: 2024-02-14 20:15:47 浏览: 113
以下是对该函数进行的代码优化:
```javascript
function getDayName(input_day) {
const oneDayTime = 1000 * 60 * 60 * 24;
const today = new Date(input_day);
const todayDay = today.getDay() || 7;
const startDate = new Date(today.getTime() - oneDayTime * (todayDay - 1));
const dateList = Array.from({ length: 7 }, (_, i) => {
const temp = new Date(startDate.getTime() + i * oneDayTime);
const year = temp.getFullYear();
const month = String(temp.getMonth() + 1).padStart(2, '0');
const day = String(temp.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`;
});
return dateList;
}
```
优化点如下:
1. 使用 const 声明常量,避免在代码执行过程中出现不必要的修改;
2. 使用模板字符串和三元运算符代替字符串拼接和条件判断;
3. 使用 Array.from 方法创建日期数组,并使用箭头函数和模板字符串代替 for 循环和字符串拼接。
以上代码中,我们使用了 ES6 的一些语法,使代码更加简洁易读。
阅读全文