计算工作日问题,javascript
Calculating weekdays issue, javascript
我有一个用户选择的天数数组,如下所示:
days_selected[1] = true;
days_selected[2] = false;
days_selected[3] = false;
days_selected[4] = true;
days_selected[5] = true;
days_selected[6] = true;
days_selected[7] = true;
Key显示工作日,如果用户检查了当天的,则显示true/false
现在,我有当前的工作日,
date_now.getDay()
假设当前工作日是星期一,1我需要找到星期一和第一天之间的天数,标记为true;
我知道我可以简单地循环天数,找到当前日期,并保持循环,直到我偶然发现另一个真实的日期,然后减去值,但我如何计算第6天是真的,而第7天和第1天是假的,在这种情况下,中间也有2天,我的数学很糟糕:-)
passed = false;
day = 0;
$.each( days_selected, function( key, value ) {
if (passed == true && value == true) {
day = key;
return false;
}
if (key == date_now.getDay()) {
passed = true;
}
});
这个怎么样?(假设索引从0开始)
var today = date_now.getDay()
, i = today + 1;
while (i % 7 != today && !days_selected[i % 7]) {
i += 1;
}
var interval = i - today - 1;
检查http://jsbin.com/jozotoke/1/edit
像这样的东西怎么样
function nextTrue(arr, selected, toCheck) {
var first = arr.indexOf(toCheck, selected+1),
res = first > selected ? first : arr.indexOf(toCheck);
return Math.abs(res - selected);
}
用作
var diff = nextTrue(days_selected, date_now.getDay(), true);
FIDDLE
相关文章:
- javascript问题正文样式
- 将代码放入click函数时出现javascript问题
- 奇怪的javascript问题
- 选中复选框的Jquery/Javascript问题使用输入框操作将行从一个表添加到另一个表
- 多上传的JavaScript问题
- 使用YouTube iFrame API的IE中的JavaScript问题
- 关于函数的Javascript问题 - IIFE
- Javascript问题与下拉菜单上的单击事件有关
- JavaScript 问题 - 意外的令牌 (.
- Chrome 中的 JavaScript 问题
- 在javascript问题中应用复合css规则
- Javascript问题,flexslider脚本未加载
- document.write和document.innerHTML以及其他javascript问题之间有什么区别
- jQuery到纯javaScript问题
- javascript问题后的onblur和onfocus
- 谷歌地图API和JavaScript问题:-(
- 第三方javascript问题
- javascript问题中的全局变量
- 嵌套if的javascript问题
- 绑定的Javascript问题