Javascript跳过月内的星期六和星期日循环

Javascript跳过月内的星期六和星期日循环,javascript,Javascript,我需要创建一个对象数组,该数组连接到每月的每一天(周末除外)。 例子: 星期一-1,星期二-2,星期三-3,星期四-4,星期五-5, 星期一至八等等跳两天 我发现这对我的想法很有用 代码: 函数getDaysArray(年、月){ 变量numDaysInMonth、daysInWeek、daysIndex、index、i、l、daysArray; numDaysInMonth=[31,28,31,30,31,30,31,30,31,30,31]; daysInWeek=[“周日”、“周一”、“

我需要创建一个对象数组,该数组连接到每月的每一天(周末除外)。 例子: 星期一-1,星期二-2,星期三-3,星期四-4,星期五-5, 星期一至八等等跳两天

我发现这对我的想法很有用

代码:

函数getDaysArray(年、月){
变量numDaysInMonth、daysInWeek、daysIndex、index、i、l、daysArray;
numDaysInMonth=[31,28,31,30,31,30,31,30,31,30,31];
daysInWeek=[“周日”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”];
daysIndex={
“Sun”:0,
“Mon”:1,
“星期二”:2,
"星期三":,
"Thu":4,,
周五:5,,
‘星期六’:6
};
索引=daysIndex[(新日期(年,月-1,1)).toString().split(“”)[0]];
daysArray=[];
对于(i=0,l=numDaysInMonth[月份-1];i控制台日志(getDaysArray(2019,12))您可以使用以下条件

 if(daysInWeek[(new Date(year+"-"+month+"-"+(i + 1))).getDay()]!='Sunday'&&daysInWeek[(new Date(year+"-"+month+"-"+(i + 1))).getDay()]!= 'Saturday') 
因此,代码如下所示

  function getDaysArray(year, month) {
   var numDaysInMonth, daysInWeek, daysIndex, index, i, l, daysArray;

numDaysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
daysInWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
daysIndex = { 'Sun': 0, 'Mon': 1, 'Tue': 2, 'Wed': 3, 'Thu': 4, 'Fri': 5, 'Sat': 6 };
index = daysIndex[(new Date(year, month - 1, 1)).toString().split(' ')[0]];
daysArray = [];

for (i = 0, l = numDaysInMonth[month - 1]; i < l; i++) {
if(daysInWeek[(new Date(year+"-"+month+"-"+(i + 1))).getDay()]!=  'Sunday' &&       daysInWeek[(new Date(year+"-"+month+"-"+(i + 1))).getDay()]!=  'Saturday')   
daysArray.push({
            "title":"Turn",
            "resourceid":"4",

            "start":year+"-"+month+"-"+(i + 1)+"+"+"08:00:00",
            "end":year+"-"+month+"-"+(i + 1)+"+"+"14:00:00",
            "internals": 'Asim' // people from array to assign at specific date
        });

    if (index == 7) index = 0;
}

   return daysArray;
  }
   console.log(getDaysArray(2019, 12));
函数getDaysArray(年、月){
变量numDaysInMonth、daysInWeek、daysIndex、index、i、l、daysArray;
numDaysInMonth=[31,28,31,30,31,30,31,30,31,30,31];
daysInWeek=[“周日”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”];
daysIndex={'Sun':0,'Mon':1,'Tue':2,'Wed':3,'Thu':4,'Fri':5,'Sat':6};
索引=daysIndex[(新日期(年,月-1,1)).toString().split(“”)[0]];
daysArray=[];
对于(i=0,l=numDaysInMonth[月份-1];i
更简单:只需使用
索引
变量即可。如果它等于0或6,那么这是一个周末,所以不要推这一天

函数getDaysArray(年、月){
变量numDaysInMonth、daysInWeek、daysIndex、index、i、l、daysArray;
numDaysInMonth=[31,28,31,30,31,30,31,30,31,30,31];
daysInWeek=[“周日”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”];
daysIndex={'Sun':0,'Mon':1,'Tue':2,'Wed':3,'Thu':4,'Fri':5,'Sat':6};
索引=daysIndex[(新日期(年,月-1,1)).toString().split(“”)[0]];
daysArray=[];
对于(i=0,l=numDaysInMonth[月份-1];i请尝试以下操作:

函数getDaysArray(年、月){
变量numDaysInMonth、daysInWeek、daysIndex、index、i、l、daysArray;
设cnt=-1;
numDaysInMonth=[31,28,31,30,31,30,31,30,31,30,31];
daysInWeek=[“周日”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”];
daysIndex={'Sun':0,'Mon':1,'Tue':2,'Wed':3,'Thu':4,'Fri':5,'Sat':6};
索引=daysIndex[(新日期(年,月-1,1)).toString().split(“”)[0]];
daysArray=[];
对于(i=0,l=numDaysInMonth[月份-1];i控制台日志(getDaysArray(2019,12))您可以使用date()构造函数生成日期,然后使用getDay()方法检查它是星期六(6)还是星期日(0)

函数getDaysArray(年、月){
变量numDaysInMonth、daysInWeek、daysIndex、index、i、l、daysArray;
numDaysInMonth=[31,28,31,30,31,30,31,30,31,30,31];
daysInWeek=[“周日”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”];
daysIndex={'Sun':0,'Mon':1,'Tue':2,'Wed':3,'Thu':4,'Fri':5,'Sat':6};
索引=daysIndex[(新日期(年,月-1,1)).toString().split(“”)[0]];
daysArray=[];
对于(i=0,l=numDaysInMonth[月份-1];i
您可以为一个月的第一天和最后一天构造一个日期,然后循环遍历所有日期,同时在每次迭代中将日期增加一天,并通过调用
.ge检查当前日期是星期六还是星期天
function getDaysArray(year, month) {
var numDaysInMonth, daysInWeek, daysIndex, index, i, l, daysArray;

  numDaysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  daysInWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
  daysIndex = { 'Sun': 0, 'Mon': 1, 'Tue': 2, 'Wed': 3, 'Thu': 4, 'Fri': 5, 'Sat': 6 };
  index = daysIndex[(new Date(year, month - 1, 1)).toString().split(' ')[0]];
  daysArray = [];

  for (i = 0, l = numDaysInMonth[month - 1]; i < l; i++) {
    var d=new Date(year+"-"+month+"-"+(i + 1))
     if(!(d.getDay()==0 || d.getDay()==6)){
      console.log(d)
       daysArray.push({
            "title":"Turn",
            "resourceid":"4",
            "start":year+"-"+month+"-"+(i + 1)+"+"+"08:00:00",
            "end":year+"-"+month+"-"+(i + 1)+"+"+"14:00:00",
            "internals": ground[i] // people from array to assign at specific date
        });
  }
    if (index == 7) index = 0;
 }
    return daysArray;
}
 console.log(getDaysArray(2019, 12));