0

我是编程新手,请放轻松。

我正在使用 Informer(一个报告网站),它从 Datatel(一个 unidata 数据库)中提取数据

我正在处理一个计算列。计算列仅接受 Javascript 不接受其他语言。

专栏应该做什么:

“如果上课时间为周一、周二、周三、周四和周五,则显示周一至周五”

因此,如果课程在所有工作日中进行,我想将输出缩写为仅显示“周一至周五”,而不是列出所有日子。

代码实际在做什么:显示每个班级的周一至周五,即使那些日子没有开会。

这是我的代码:这不起作用

//declare variables
var mon = secmonday[1];
var tue = sectuesday[1];
var wed = secwednesday[1];
var thur = secthursday[1];
var fri = secfriday[1];
var formatDays = "";


//if monday through friday = Y (Y is the value in the database) 
//then format with a - in between days

if ((mon && tue && wed && thur && fri) == "Y");
{
formatDays="Mon-Fri";
}
else
{
// if any of the days fields are empty then do not display formatDays
//instead leave    
blank
if ((mon || tue ||wed || thur || fri) == null);
}
formatDays=mon+tue+wed+thur+fri;

我究竟做错了什么?提前感谢您的帮助。


忽略我想出了一个解决方案:

//define variables
var days = courseSections6_csmdaysk;
var output = "";
var formatDays = "Mon-Fri";
//removes whitespace within data
var formatBlank = days.replace(/\s+/g, '');

//if all days are present then display Mon-Fri
if (days == "M T W TH F")
{
output = formatDays;
}
else
{
output = formatBlank;
}
output
4

1 回答 1

0

if您既不想分配,也不想在第一次比较后结束条件并出现语法错误。否则在做 javascript 时使用 javascript 语法。

if( mon && tue && wed && thur && fri ) formatDays = mon+'-'+fri.

请注意,我相信它可能会产生类似true-true但缺乏进一步帮助您的信息。

于 2013-09-17T13:16:54.763 回答