2011-11-18 42 views
2

我在过滤XHTML类;当只有一个类时,它会在开头插入一个逗号。这使得隐藏的类具有“隐藏”的值,最终显示隐藏的内容。我错过了什么?没有框架请,我从来没有使用它们。JavaScript Join在数组中只有一个项目时插入逗号分隔符

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); 
+1

嗯,您可以向'D',而不是'd.join(”“)'。尝试提醒'd.length';我敢打赌它是2. –

回答

2

d仍然是使用join()后的数组。 店加盟()在一个变量来获得结果字符串的结果:

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

相关,也犯了这个错误,谢谢。 – John

0

您可以使用类似:

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

清除的第一个迹象。

1

你可能有一个Array,其中有一个undefinednull或空字符串作为第一个成员,这是有其toString()地方(也许隐含)呼吁,要求其join(),默认木匠是逗号( ,),从而导致在开始时使用逗号的字符串。

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

太棒了!太少时间去思考。 ;-) – John

相关问题