代码之家  ›  专栏  ›  技术社区  ›  RameshVel

在javascript tostring()..中添加不同的分隔符?

  •  21
  • RameshVel  · 技术社区  · 15 年前

    通常是Javascripts 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 (将逗号替换为 _ )

    我知道我们可以在将数组转换为String之后使用替换方法来实现这一点。有更好的选择吗?

    干杯

    拉米什维尔

    4 回复  |  直到 12 年前
        1
  •  39
  •   edeverett    15 年前

    myarray.join('''')应该做您需要的事情。

        2
  •  7
  •   Gumbo    15 年前

    使用 join 要使用特定分隔符连接元素,请执行以下操作:

    myArray.join("_")
    
        3
  •  3
  •   Grant Wagner    15 年前

    除了演示以外,没有其他目的,可以回答问题的标题(而不是精神):

    <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可以被修改来做最初的要求。

        4
  •  1
  •   Mike    12 年前

    当数组是多维的时,grant-wagner的答案是有用的。

    取数组[['mary','had'],['a','little'],['lamb','and']]

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

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

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

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