打印一个没有逗号分隔符的数组(对象?)

4

我目前正在编写大量的代码,但是我会保持简单。我有一个JavaScript数组(可能是对象,仍然不确定确切的常规名称),以下是初始化代码:

var myArray = ["assignS" , ";" , "S"]

这是我从firebug的console.log()中得到的元素。由于它通过多个for循环被分配了多个值,所以有太多的代码要发布。因此,这个数组(或对象)稍后将按如下方式打印:

document.write("S -> " + myArray);

输出:

 S -> assignS,;,S

我不希望结果中出现逗号,因为数组中的某些元素本身可能就是逗号,这会带来问题。我排除了使用.join()方法,但不确定该如何继续。


1
你为什么排除了 join 方法?那似乎是最合理的解决方案。 - Guffa
1
使用 document.write 可能是一个非常糟糕的做法,通常不应将数组视为字符串处理。无论如何,你期望的结果是什么?因为 ["assignS",";","S"].join("") 返回 "assignS;S" - Passerby
好像 ; 是您首选的 粘合剂,因此使用 ["assignS", "S"].join(';') 也可以。在排除某些东西之前,请仔细阅读文档。 - Yoshi
4个回答

26

你为什么要排除 join() 方法?它接受一个分隔符参数,你可以将其设置为空来指定分隔符:

myArray.join("");

我建议阅读有关 .join() 文档 。 此外,我不建议您使用 document.write,它的应用非常有限。


3

.join 方法用于连接数组中的所有项,默认情况下使用逗号作为分隔符,但可以通过传入一个参数来指定其他的字符串作为分隔符,包括空字符串。

myArray.join(''); // is "assignS;S"

1
var a=[1,2,3,4]
var result="";
for(i= a.length-1; i>=0;i--){
    result=a[i]+result;
}

document.getElementById("demo").innerHTML=result;

这个答案需要更多的解释 - 缩进也不太对。 - Danny Staple

0
请使用以下代码:
document.write("S -> " + myArray.join(" "));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接