【问题标题】:Add different delimiters in javascript toString()..?在 javascript toString() 中添加不同的分隔符..?
【发布时间】:2009-09-09 10:30:22
【问题描述】:

通常 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 表示结果(用_ 替换逗号)。

我知道我们可以在将数组转换为字符串后使用替换方法来做到这一点。有没有更好的选择?

干杯

拉梅什维尔

【问题讨论】:

    标签: javascript arrays


    【解决方案1】:

    myArray.join('_') 应该做你需要的。

    【讨论】:

    • 感谢 edeverett.. 我应该先阅读 javascript 基础知识... :(
    • 不用担心,这就是 SO 的用途。好消息是答案很快就写出来了:-)
    • 有没有办法在不使用.join();的情况下做到这一点?
    【解决方案2】:

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

    myArray.join("_")
    

    【讨论】:

      【解决方案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>
      

      我不建议这样做。它使您的代码更加复杂,并且依赖于在Array 上扩展toString() 的功能所需的代码。使用Array.join() 是正确的答案,我只是想表明可以修改 JavaScript 以执行最初要求的操作。

      【讨论】:

        【解决方案4】:

        Grant Wagner 的答案在数组是多维时很有用。

        取数组

        [['Mary','Had'],['A','Little'],['lamb', 'and']]
        

        如果您使用Array.join('_') 方法,那么结果将类似于:

        Mary,Had_A,Little_lamb,and
        

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

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

        【讨论】:

          猜你喜欢
          • 2021-01-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-03-16
          • 2019-09-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多