在Javascript中,我有一个对象集合,这些对象的值存储在变量中

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


根据我在哪里使用该集合,它的某些对象仍保持“未定义”状态,这是有目的的。

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

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

有没有一种方法可以仅将集合中的.join()应用于变量内部(如果它具有值)?就像是

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


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

最佳答案

只是将其作为答案。

三元语句呢?

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

关于javascript - Javascript仅在不是未定义/空/空的情况下将.join()应用于对象集合中的项目吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47947170/

10-12 07:38
查看更多