在javascript toString()中添加不同的分隔符。。?

在javascript toString()中添加不同的分隔符。。?,javascript,arrays,Javascript,Arrays,通常JavaScript的toString()方法以逗号分隔的值返回数组,如下所示 var myArray = [ 'zero', 'one', 'two', 'three', 'four', 'five' ]; var result = myArray .toString(); <pre> <script type="text/javascript"> Array.prototype.toStringDefault = Array.prototype.toStri

通常JavaScript的
toString()
方法以逗号分隔的值返回数组,如下所示

 var myArray = [ 'zero', 'one', 'two', 'three', 'four', 'five' ];
 var result = myArray .toString();
<pre>
<script type="text/javascript">
Array.prototype.toStringDefault = Array.prototype.toString;
Array.prototype.toString = function (delim) {
    if ('undefined' === typeof delim) {
        return this.toStringDefault();
    }
    return this.join(delim);
}
var myArray = [ 'zero', 'one', 'two', 'three', 'four', 'five' ];
var result1 = myArray.toString('_');
document.writeln(result1);
var result2 = myArray.toString();
document.writeln(result2);
</script>
</pre>
它返回如下输出:零、一、二、三、四、五

但是我需要用这种格式表示结果(用
替换逗号)

我知道我们可以在将数组转换为字符串后使用replace方法来完成这项工作。有更好的选择吗

干杯

Ramesh-Vel

myArray.join(“”)应该满足您的需要。

使用特定分隔符连接元素:

myArray.join("_")

除了证明可以做到这一点,并回答问题的标题(但不是精神),没有其他目的:


Array.prototype.toStringDefault=Array.prototype.toString;
Array.prototype.toString=函数(delim){
if('undefined'==delim的类型){
返回此.toString默认值();
}
归还这个。加入(delim);
}
var myArray=['0','1','2','3','4','5'];
var result1=myArray.toString(“”“);
书面文件(结果1);
var result2=myArray.toString();
书面文件(结果2);

我不建议这样做。它使您的代码更加复杂,并且依赖于在
Array
上扩展
toString()
功能所需的代码。使用
Array.join()

以数组[['Mary'、'Had']、['A'、'Little']、['lamb'、'和']]为例

如果使用Array.join(“”)方法,则结果如下:

玛丽,有一只小羊羔,还有

因为join方法使用.toString()方法来组装主数组中的每个元素,默认情况下使用逗号分隔符


但是,更改Array.toString()方法将产生所需的结果。

谢谢edeverett。。我应该先阅读javascript基础知识…:(不用担心,这就是SO在这里的目的。好消息是答案很快就写出来了:-)有没有不使用
.join()的方法来实现这一点