当数组中只有一个项时,JavaScript Join会插入逗号分隔符

时间:2011-11-18 01:55:05

标签: javascript split

我正在过滤XHTML类;当只有一个类时,它会在开头插入一个逗号。这使得隐藏的类具有“隐藏”值,最终显示隐藏内容。我错过了什么?没有框架,我从不使用它们。

var d = new Array();

for (var i=0;i<c.length;i++)
{
 if (c[i]==c1) {d.push(c2);}
 else if (c[i]==c2) {d.push(c1);}
 else if (c[i]!='') {d.push(c[i]);}
}

d.join(' ');
alert(d);

3 个答案:

答案 0 :(得分:2)

使用join()后,

d仍然是一个数组。 将join()的结果存储在变量中以获取结果字符串:

joined=d.join(' ');
alert(joined);

答案 1 :(得分:1)

你可能有一个Array,其中有一个undefinednull或空字符串作为第一个成员,它的toString()被称为某处(也许)隐式地),它调用它的join(),默认的连接符是逗号(,),导致在开头有一个逗号的字符串。

>>> [null,'hidden'] + '';
",hidden"

答案 2 :(得分:0)

您可以使用以下内容:

if (d.length == 1) {
    alert(d[0].substr(1, d[0].length));
}

清除第一个标志。