在 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/