使用 Jquery 从日期数组中删除星期六和星期日
Remove Saturdays and Sundays from dates array with Jquery
我试图从我的 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);
我认为问题出在我的"if"语句条件上。但是当我尝试编写两个单独的块时,我得到了相同的结果。
不要从原始日期数组中删除值,而是尝试将其保存在临时数组中。这是因为如果从原始日期数组中删除值,将导致循环出错。
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);
尝试过滤。
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);
我试图从我的 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);
我认为问题出在我的"if"语句条件上。但是当我尝试编写两个单独的块时,我得到了相同的结果。
不要从原始日期数组中删除值,而是尝试将其保存在临时数组中。这是因为如果从原始日期数组中删除值,将导致循环出错。
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);
尝试过滤。
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);