通常JavaScript的toString()
方法以逗号分隔的值返回数组,如下所示
var myArray = [ 'zero', 'one', 'two', 'three', 'four', 'five' ];
var result = myArray .toString();
它返回输出 zero,one,two,three,four,five
。
但我要求以此格式 zero_one_two_three_four_five
(将逗号替换为_
)来表示结果。
我知道在将数组转换为字符串后,我们可以使用replace方法执行此操作。有没有更好的选择呢?
干杯
Ramesh Vel
答案 0 :(得分:43)
myArray.join('_')应该做你需要的。
答案 1 :(得分:7)
使用join
将元素与特定分隔符连接起来:
myArray.join("_")
答案 2 :(得分:3)
除了证明它可以做任何其他目的并且回答问题的标题(但不是精神):
<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>
我不建议这样做。它使您的代码更加复杂,并且依赖于在toString()
上扩展Array
功能所需的代码。使用Array.join()
是正确答案,我只想表明可以修改JavaScript以执行最初要求的操作。
答案 3 :(得分:1)
拿阵[[&#39; Mary&#39;,&#39; Had&#39;],[&#39; A&#39;,&#39; Little&#39;],[&# 39;羊羔&#39;,&#39;和&#39;]]
如果您使用Array.join(&#39; _&#39;)方法,那么结果将类似于:
玛丽,Had_A,Little_lamb,和
因为join方法使用.toString()方法来组装主数组中的每个元素,这默认使用逗号分隔符。
更改Array.toString()方法会产生所需的结果。