2012-10-11 151 views
10

我有3个字符串“a”,“b”,“c”。我将这些字符串存储到一个名为“testarray”的javascript数组中。 即从javascript数组中删除逗号

var testarray=new Array("a","b","c"); 

,然后我打印使用JavaScript alertbox的testarray的价值。

alert(testarray); 

结果将是象,B,C

这里所有这些字符串由 “” 字符分隔。我想用其他字符或两个或多个字符的组合替换此“,”,以便警报框显示类似于%b%c或%$ b%$ c的内容。 任何人都可以帮助我做到这一点?在此先感谢....

+0

我被过度挑剔在这里,但声明数组使用'VAR testarray = [ “一”, “B”, “C”]'而不是'变种testarray =新阵列( “一”, “B”,“C “);'它更容易避免一些潜在的问题。 –

+0

感谢您的提示。下次会想出来:) –

回答

40

使用join method

alert(testarray.join("%")); // 'a%b%c' 

这里有一个working example。请注意,由空字符串传递给join你可以在阵列中的所有元素的串联:

alert(testarray.join("")); // 'abc' 

旁注:它通常被认为是更好的做法是使用文字来代替Array数组创建构造时的数组:

var testarray = ["a", "b", "c"]; 
+0

哇!! ...感谢队友..你刚刚救了我的职业生涯;):D。 –

4

使用testarray是越来越转换在警报之前使用testarray.toString()字符串。 toString内部使用','作为分隔符连接这些项目。您可以使用Array.join将其转换为字符串并传递自己的分隔符。

alert(testarray.join("%"));

1

您可以通过数组进行迭代,并插入你的角色

var testarray=new Array("a","b","c"); 
var str; 
for (var i = 0; i < testarray.length; i++) { 
    str+=testarray[i]+"%"; 
} 
alert(str); 
-1

连接方法是伟大的,只是补充,你可以添加数组[0] +阵列[1] +阵列[ 2]只有项目数量非常小。

另外不要忘记把价值“”在JavaScript数组的情况下分配“未定义”自动。没有那样做,人们可能会遇到问题。