Javascript 控制台日志和从多个开关语句添加值
我正在尝试从我的switch语句值breakMonValue和finishMonValue中添加多个值,以便可以将这些值添加在一起进行console.log,是否可以这样做 未定义startMonTimeStr变量Javascript 控制台日志和从多个开关语句添加值,javascript,jquery,switch-statement,Javascript,Jquery,Switch Statement,我正在尝试从我的switch语句值breakMonValue和finishMonValue中添加多个值,以便可以将这些值添加在一起进行console.log,是否可以这样做 未定义startMonTimeStr变量 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } function _nonIterable
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
var timeStringToValue = function timeStringToValue(timeStr) {
var _timeStr$match = timeStr.match(/(\d+):(\d+) ([ap]m)/),
_timeStr$match2 = _slicedToArray(_timeStr$match, 4),
hours = _timeStr$match2[1],
minutes = _timeStr$match2[2],
ampm = _timeStr$match2[3];
var ampmHourModifier = ampm === 'pm' ? 12 : 0;
return Number(hours) + ampmHourModifier + minutes / 60;
};
var startMonTimeStr = $('.start-time-monday option:selected').text();
var startMonValue = timeStringToValue(startMonTimeStr);
console.log(timeStringToValue(StartMonValue));
console.log(timeStringToValue('3:30 pm'));
它们的布局如下:
$('.start-time-monday').each(function(){
$(this).change(function(){
var monTime =
$('.start-time-monday').each(function(){
$(this).change(function(){
var monTime = $('.start-time-monday option:selected').text();
var value = "";
switch(monTime){
case "7:00 am":
value = 7.00;
break;
case "7:15 am":
value = 7.25;
break;
case "7:30 am":
value = 7.50;
break;
case "7:45 am":
value = 7.75;
break;
case "8:00 am":
value = 8.00;
break;
case "8:15 am":
value = 8.25;
break;
case "8:30 am":
value = 8.50;
break;
case "8:45 am":
value = 8.75;
break;
case "9:00 am":
value = 9.00;
break;
case "9:15 am":
value = 9.25;
break;
case "9:30 am":
value = 9.50;
break;
case "9:45 am":
value = 9.75;
break;
case "10:00 am":
value = 10.00;
break;
case "10:15 am":
value = 10.25;
break;
case "10:30 am":
value = 10.50;
break;
case "10:45 am":
value = 10.75;
break;
case "11:00 am":
value = 11.00;
break;
case "11:15 am":
value = 11.25;
break;
case "11:30 am":
value = 11.50;
break;
case "11:45 am":
value = 11.75;
break;
case "12:00 pm":
value = 12.00;
break;
case "12:15 pm":
value = 12.25;
break;
case "12:30 pm":
value = 12.50;
break;
case "12:45 pm":
value = 12.75;
break;
case "1:00 pm":
value = 13.00;
break;
case "1:15 pm":
value = 13.25;
break;
case "1:30 pm":
value = 13.50;
break;
case "1:45 pm":
vaue = 13.75;
break;
case "2:00 pm":
value = 14.00;
break;
case "2:15 pm":
value = 14.25;
break;
case "2:30 pm":
value = 14.50;
break;
case "2:45 pm":
value = 14.75;
break;
case "3:00 pm":
value = 15.00;
break;
case "3:15 pm":
value = 15.25;
break;
case "3:30 pm":
value = 15.50;
break;
case "3:45 pm":
value = 15.75;
break;
case "4:00 pm":
value = 16.00;
break;
case "4:15 pm":
value = 16.25;
break;
case "4:30 pm":
value = 16.50;
break;
case "4:45 pm":
value = 16.75;
break;
case "5:00 pm":
value = 17.00;
break;
case "5:15 pm":
value = 17.25;
break;
case "5:30 pm":
value = 17.50;
break;
case "5:45 pm":
value = 17.75;
break;
case "6:00 pm":
value = 18.00;
break;
case "6:15 pm":
value = 18.25;
break;
case "6:30 pm":
value = 18.50;
break;
case "6:45 pm":
value = 18.75;
break;
case "7:00 pm":
value = 19.00;
break;
case "7:15 pm":
value = 19.25;
break;
case "7:30 pm":
value = 19.50;
break;
case "7:45 pm":
value = 19.75;
break;
default:
value = '0';
break;
}
//var startTimeMon = timeSwitch(monTime) ;
console.log(value, 'Monday Start time value');
});
});
$('.meal-break-monday').each(function(){
$(this).change(function(){
var breakMonTime = $('.meal-break-monday option:selected').text();
var breakMonvalue = "";
switch(breakMonTime){
case "15 mins":
breakMonvalue = 0.25;
break;
case "30 mins":
breakMonvalue = 0.50;
break;
case "45 mins":
breakMonvalue = 0.75;
break;
case "60 mins":
breakMonvalue = 1.00;
break;
default:
value = '0';
break;
}
//var startTimeMon = timeSwitch(monTime) ;
console.log(breakMonvalue, 'Mon BREAK time value');
});
});
//finish time monday
$('.finish-time-monday').each(function(){
$(this).change(function(){
var finishMonTime = $('.finish-time-monday option:selected').text();
var finishMonvalue = "";
switch(finishMonTime){
case "7:00 am":
finishMonvalue = 7.00;
break;
case "7:15 am":
finishMonvalue = 7.25;
break;
case "7:30 am":
finishMonvalue = 7.50;
break;
case "7:45 am":
finishMonvalue = 7.75;
break;
case "8:00 am":
finishMonvalue = 8.00;
break;
case "8:15 am":
finishMonvalue = 8.25;
break;
case "8:30 am":
finishMonvalue = 8.50;
break;
case "8:45 am":
finishMonvalue = 8.75;
break;
case "9:00 am":
finishMonvalue = 9.00;
break;
case "9:15 am":
finishMonvalue = 9.25;
break;
case "9:30 am":
finishMonvalue = 9.50;
break;
case "9:45 am":
finishMonvalue = 9.75;
break;
case "10:00 am":
finishMonvalue = 10.00;
break;
case "10:15 am":
finishMonvalue = 10.25;
break;
case "10:30 am":
finishMonvalue = 10.50;
break;
case "10:45 am":
finishMonvalue = 10.75;
break;
case "11:00 am":
finishMonvalue = 11.00;
break;
case "11:15 am":
finishMonvalue = 11.25;
break;
case "11:30 am":
finishMonvalue = 11.50;
break;
case "11:45 am":
finishMonvalue = 11.75;
break;
case "12:00 pm":
finishMonvalue = 12.00;
break;
case "12:15 pm":
finishMonvalue = 12.25;
break;
case "12:30 pm":
finishMonvalue = 12.50;
break;
case "12:45 pm":
finishMonvalue = 12.75;
break;
case "1:00 pm":
finishMonvalue = 13.00;
break;
case "1:15 pm":
finishMonvalue = 13.25;
break;
case "1:30 pm":
finishMonvalue = 13.50;
break;
case "1:45 pm":
finishMonvaue = 13.75;
break;
case "2:00 pm":
finishMonvalue = 14.00;
break;
case "2:15 pm":
finishMonvalue = 14.25;
break;
case "2:30 pm":
finishMonvalue = 14.50;
break;
case "2:45 pm":
finishMonvalue = 14.75;
break;
case "3:00 pm":
finishMonvalue = 15.00;
break;
case "3:15 pm":
finishMonvalue = 15.25;
break;
case "3:30 pm":
finishMonvalue = 15.50;
break;
case "3:45 pm":
finishMonvalue = 15.75;
break;
case "4:00 pm":
finishMonvalue = 16.00;
break;
case "4:15 pm":
finishMonvalue = 16.25;
break;
case "4:30 pm":
finishMonvalue = 16.50;
break;
case "4:45 pm":
finishMonvalue = 16.75;
break;
case "5:00 pm":
finishMonvalue = 17.00;
break;
case "5:15 pm":
finishMonvalue = 17.25;
break;
case "5:30 pm":
finishMonvalue = 17.50;
break;
case "5:45 pm":
finishMonvalue = 17.75;
break;
case "6:00 pm":
finishMonvalue = 18.00;
break;
case "6:15 pm":
finishMonvalue = 18.25;
break;
case "6:30 pm":
finishMonvalue = 18.50;
break;
case "6:45 pm":
finishMonvalue = 18.75;
break;
case "7:00 pm":
finishMonvalue = 19.00;
break;
case "7:15 pm":
finishMonvalue = 19.25;
break;
case "7:30 pm":
finishMonvalue = 19.50;
break;
case "7:45 pm":
value = 19.75;
break;
default:
value = '0';
break;
}
//var startTimeMon = timeSwitch(monTime) ;
console.log(finishMonvalue, 'Mon FINISH time value');
});
});
用数学方法将时间字符串解析为数字可能更为优雅,例如: 常数timeStringToValue=timeStr=>{ 常数[,小时,分钟,安培]=timeStr.match/\d+:\d+[ap]m/; 常数ampmHourModifier=ampm=='pm'?12:0; 返回次数小时+安培小时修改器+分钟/60 }; 控制台:logtimeStringToValue'10:00AM';
控制台:logtimeStringToValue'3:30 pm';嘿,谢谢,我实际上是在尝试给时间赋值,因为最后我希望能够计算出这个值,所以我做了一个切换案例,给它们赋值。你知道如何使用这些值吗?不清楚你在寻找什么额外的功能-在答案中,timeStr是动态的,任何东西都可以使用需要解析的任何时间字符串调用timeStringToValue,一个下拉菜单将有时间,它将引用一个值,这些值将被计算得到总小时数。如果这有助于将从timeStringToValue检索到的所有值相加..?谢谢,抱歉,我只是在多次发布之前不理解您的答案,但是调用函数的愚蠢问题是它是console.logtimeStringToValueconst finishMonTimeStr=$'。完成时间星期一选项:selected'。text;我不是技术人员哈哈