我正在尝试从我的jquery数组中删除周末日,但是我删除了周六或周日,而不是两者都在一起。 你能检查一下我做错了吗?
$(dates).each(function( index ) {
var dt = new Date(dates[index]);
console.log( index + ": " + dates[index], dt.getDay() );
if ( dt.getDay() == 0 || dt.getDay() == 6 ) {
dates.splice(index, 1);
}
});
console.log(dates);
我认为问题是我的"如果"声明条件。但是当我尝试写两个单独的块时,我得到相同的结果。
答案 0 :(得分:1)
尝试将其保存在临时数组中,而不是从原始日期数组中删除值。这是因为如果从原始日期数组中删除值,则会导致循环错误。
var date_tmp = [];
$(dates).each(function( index ) {
var dt = new Date(dates[index]);
console.log( index + ": " + dates[index], dt.getDay() );
if ( dt.getDay() != 0 && dt.getDay() != 6 ) {
date_tmp.push(dates[index]);
}
});
console.log(date_tmp);
答案 1 :(得分:1)
尝试过滤。
var weekdaysOnly = dates.filter(function(element, index){
var dt = new Date(element);
console.log( index + ": " + element, dt.getDay() );
//not saturday or sunday
return (dt.getDay() != 0 && dt.getDay() != 6);
});
console.log(weekdaysOnly);