JavaScript:数组声明上的If语句

JavaScript: If statement on Array declaration

本文关键字:If 语句 声明 数组 JavaScript      更新时间:2023-09-26

是否可以在数组声明中放入if语句?

代码:

dayOfWeek = [if($('#sunday').checked()){$('#sunday').val()}];

浏览器错误:Uncaught SyntaxError: Unexpected token if.

我也试过了:

$('#domingo').checked() ! $('#domingo').val() : 0

浏览器错误:Uncaught SyntaxError: Unexpected token !

编辑

@bažmegakapa回答的代码工作没有错误是:

diasSemana = new Array($domi.is(':checked') ? $domi.val() : null, $lun.is(':checked') ? $lun.val() : null);

这行不通:

$('#domingo').checked() ? $('#domingo').val() : 0

浏览器显示此错误:Uncaught TypeError: Object [Object Object] has no method 'checked'

问候!

您需要的是所谓的三进制或条件运算符:

$('#domingo').checked() ? $('#domingo').val() : 0

但是,为同一个元素查询两次DOM并不是一个好主意。预先将生成的jQuery对象保存到一个变量中并重用它:

var $domi = $('#domingo');
dayOfWeek = [$domi.checked() ? $domi.val() : 0];

我不知道.checked()是什么,也许你指的是.is(':checked')

尝试使用javascript的三元运算符,在这里记录:

$('#domingo').checked() ? $('#domingo').val() : 0