在 javascript 中循环内循环
loop within a loop in javascript
我正在尝试 运行 循环中的循环以获得一些有效日期,但似乎无法正常工作。我的示例数据就像
这些是有效的日子
[ 'Monday', 'Thursday', 'Friday', 'Sunday' ]
这些是有效日期
[ Sun Oct 09 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Mon Oct 10 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Tue Oct 11 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Wed Oct 12 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Thu Oct 13 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Fri Oct 14 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Sat Oct 15 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Sun Oct 16 2016 05:00:00 GMT+0500 (Pakistan Standard Time) ]
我想做的是:只找到等于无效天数的那些日期
我正在做的是:
_valid_dates = (dates, days) ->
validDates = dates
dates.forEach (date) ->
days.forEach (day) ->
if moment_strf(date).strftime("%A") != day
validDates.remove date
else
console.log "Am valid day", moment_strf(date).strftime("%A")
validDates
但是结果并不如我所料。根据数据,剩余日期应该是
[ Sun Oct 09 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Mon Oct 10 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Thu Oct 13 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Fri Oct 14 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Sun Oct 16 2016 05:00:00 GMT+0500 (Pakistan Standard Time) ]
任何帮助将不胜感激!谢谢
你可以只使用 javascript:
您可以使用 0-6 来表示天,而不是在天数组中使用全名,然后
//sunday=0,monday=1 ....saturday=6
var days=[1,4,5,0];
var result_arr=[]; // required array for result
for(date in dates)
{
if(days.indexOf(new Date(date).getDay())!=-1)
{
result_arr.push(date);
}
}
我正在尝试 运行 循环中的循环以获得一些有效日期,但似乎无法正常工作。我的示例数据就像
这些是有效的日子
[ 'Monday', 'Thursday', 'Friday', 'Sunday' ]
这些是有效日期
[ Sun Oct 09 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Mon Oct 10 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Tue Oct 11 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Wed Oct 12 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Thu Oct 13 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Fri Oct 14 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Sat Oct 15 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Sun Oct 16 2016 05:00:00 GMT+0500 (Pakistan Standard Time) ]
我想做的是:只找到等于无效天数的那些日期
我正在做的是:
_valid_dates = (dates, days) ->
validDates = dates
dates.forEach (date) ->
days.forEach (day) ->
if moment_strf(date).strftime("%A") != day
validDates.remove date
else
console.log "Am valid day", moment_strf(date).strftime("%A")
validDates
但是结果并不如我所料。根据数据,剩余日期应该是
[ Sun Oct 09 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Mon Oct 10 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Thu Oct 13 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Fri Oct 14 2016 05:00:00 GMT+0500 (Pakistan Standard Time),
Sun Oct 16 2016 05:00:00 GMT+0500 (Pakistan Standard Time) ]
任何帮助将不胜感激!谢谢
你可以只使用 javascript:
您可以使用 0-6 来表示天,而不是在天数组中使用全名,然后
//sunday=0,monday=1 ....saturday=6
var days=[1,4,5,0];
var result_arr=[]; // required array for result
for(date in dates)
{
if(days.indexOf(new Date(date).getDay())!=-1)
{
result_arr.push(date);
}
}