我正在尝试创建一个JavaScript数组,它包含从今天开始的最近7天的名称。为了解决这个问题,我可以使用getDay()方法获得今天的日期,并将其作为访问星期几数组元素的索引。然而,我需要向后推算以创建过去几天的数组。我在网上找不到类似的问题解答。是否有更优雅的解决方案?或者jQuery可以提供帮助吗?
const days = ['monday', 'tuesday', 'wednesday', 'thursday',
'friday', 'saterday', 'sunday'];
var goBackDays = 7;
var today = new Date();
var daysSorted = [];
for(var i = 0; i < goBackDays; i++) {
var newDate = new Date(today.setDate(today.getDate() - 1));
daysSorted.push(days[newDate.getDay()]);
}
alert(daysSorted);
(function(){ })();
。这也会影响性能效率,因为一周总共只有七天,使用循环内的日期函数是过度操作了。 - Edgar Griñantfunction myFunction(day) {
var weekday =["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]
return weekday[day];
}
var currentDate = new Date().getDay();
var week=[0,1,2,3,4,5,6];
var a=week.splice(currentDate);
var loopWeek=a.concat(week);
var freshWeek=[];
for(var i=0;i<loopWeek.length;i++){
freshWeek.push(myFunction(loopWeek[i]))
}
console.log(freshWeek);
var numdays = 7; // Change it to the number of days you need
var d = new Date();
var n = d.getDay();
var weekday = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]
var myArray = new Array(numdays);
for(var i=0;i<numdays;i++){
myArray[i]=weekday[(n-i+numdays)%7];
}
console.log(myArray); // Result: ["Thursday", "Wednesday", "Tuesday", "Monday", "Sunday", "Saturday", "Friday"]