Javascript推送到数组,如果原始为空,则添加逗号

Javascript推送到数组,如果原始为空,则添加逗号,javascript,Javascript,我正在尝试使用Javascript将ID添加到现有数组中,如下所示 var myinput=$(“input[name=myinput]”)val(); console.log(myinput); var split=myinput.split(','); SavedId=1; split.push(SavedId); 警报(分割) 您可以使用空字符串筛选数组 因为如果你拆分一个空字符串 '' [''] 得到一个包含此空字符串的数组 '' [''] 这是不需要的 通过使用as-call

我正在尝试使用Javascript将ID添加到现有数组中,如下所示

var myinput=$(“input[name=myinput]”)val();
console.log(myinput);
var split=myinput.split(',');
SavedId=1;
split.push(SavedId);
警报(分割)

您可以使用空字符串筛选数组

因为如果你拆分一个空字符串

''
['']
得到一个包含此空字符串的数组

''
['']
这是不需要的

通过使用as-callback进行过滤,您将得到一个只包含值的数组,而不是空字符串

var myinput=$(“input[name=myinput]”)val();
console.log(myinput);
var split=myinput.split(',).filter(布尔),
SavedId=1;
split.push(SavedId);
警报(分割)

如果
myinput
为空(
“”
),则会将其拆分为(
[“”]
),并将其与另一个值合并,从而产生额外的逗号。您可以将其替换为一个空数组:

 var split = myinput.length ? myinput.split(',') : [];

您必须过滤空字符串

在每个逗号上拆分
'
将得到
['']
,因为起始字符串为空。因此,必须删除结果数组中的那些空字符串。您可以通过使用
布尔函数根据值的真实性筛选出值来实现这一点

此外,在向数组中添加数字之前,请注意将拆分的字符串转换为数字。可以通过在数组上映射
Number
函数来实现这一点

函数onChange(){
const myinput=$(“input[name=myinput]”)val();
常量split=myinput.split(',')
.filter(布尔值)
.地图(编号);
劈开。推(1);
控制台日志(拆分);
}

在字段中键入:

谢谢,简单的解释。如果要重复使用执行相同操作的现有函数,则修复
.filter(Boolean).map(Number)