我有这个:
var ID= "12,32,23,78";
var i = ID.split(',');
如果我这样做那么它工作正常,但当它只有一个像12这样的值时,它就会给我0.我怎么能解决这个问题?如果我只需要检查一个值,你怎么做?
答案 0 :(得分:6)
如果变量“ID”是数字 12,那么当然它不起作用 - .split()
方法是字符串的方法,而不是数字。试试这个:
var ID = /* whatever */;
var i = (ID + '').split(',');
答案 1 :(得分:0)
var i;
if (ID.indexOf(",") != -1)
i = ID.split(',');
else
i = ID;
答案 2 :(得分:0)
与您发布的完全一样,除非您使用JavaScript .indexOf()字符串方法检查是否存在分隔符。
答案 3 :(得分:0)
String.prototype.mySplit = function(sep) {
return (this.indexOf(sep) != -1) ? this.split(sep) : [this];
};
示例:
//var ID= '12,32,23,78';
var ID= '12';
//Update
if (typeof(ID)=='number') ID += '';
var i = ID.mySplit(',');
alert(i[0]);
答案 4 :(得分:0)
var ID= "12,32,23,78";
var i = ID.split(',');
will return [12,32,23,78]
var ID= "12";
var i = ID.split(',');
will return [12] -- this is also an array
然而你可以这样做
var ID= "12";
var i = ID.split(',') || ID;