仅当不是未定义/空/空时,Javascript 才将 .join() 应用于对象集合中的项目?

标签 javascript

在 Javascript 中,我有一个对象集合,我将其值存储在变量中

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

根据我使用集合的位置,它的一些对象仍然是“未定义的”,这是有意的。

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

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

有没有办法仅在变量有值(value)时才将集合中的 .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 才将 .join() 应用于对象集合中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47947170/

相关文章:

javascript - dotdotdot.js 仅在调整窗口大小后有效

javascript - SVG 路径绘制和图像填充

javascript - 编码/解码翻译的句子

javascript - 如何不重复随机函数的结果

javascript - 更新/推送新数据到 NgRedux 状态

javascript - 套接字未连接到 Angular-Firebase 以获得实时更新

javascript - 从链接打开时,导航栏隐藏标题

javascript - 在 VIM 中使用的 Javascript 手册页

javascript - webpack style-loader 将 css 显示为 style 标签内的 base64 编码字符串

javascript - 无法在 FabricJS 中将图像置于最前面