只有在未定义/ empty / null时,Javascript才将.join()应用于对象集合中的项目?

时间:2017-12-22 20:44:36

标签: javascript

在Javascript中我有一组对象,其值存储在变量

var filters = {
    BeginDate: $("#BeginDateRange").val(),
    EndDate: $("#EndDateRange").val(),
    ListOfCodes: $("#ListOfCodes").val(),
    //ListOfCodes: $("#ListOfCodes").val().join(),
    ...
}

根据我使用该集合的位置,它的一些对象保持“未定义”,并且是预期的。

上面的ListOfCodes是一个字符串值数组,我想将它作为单个逗号分隔的字符串传递给活页夹(例如[“1”],[“2”] - >“1,2”)

我能够使用.join(),并且它成功运行。但是,我后来发现,如果.join()没有要连接的值,代码就会崩溃。

有没有办法将.join()INSIDE集合到变量ONLY,如果它有值?

这样的东西
var filters = {
    BeginDate: $("#BeginDateRange").val(),
    EndDate: $("#EndDateRange").val(),
    ListOfCodes: if( $("#ListOfCodes").val() )
                     {$("#ListOfCodes").val().join()} 
                  else
                      {$("#ListOfCodes").val()}    //value remains undefined
    ,
    ...
}

编辑:我问在集合中应用.join()方法的可能性,而不是检查空值。

1 个答案:

答案 0 :(得分:2)

将此作为答案。

三元声明怎么样?

ListOfCodes: ($("#ListOfCodes").val()) ? $("#ListOfCodes").val().join() : null