【问题标题】:Join an array by a comma and a space用逗号和空格连接数组
【发布时间】:2011-07-02 02:20:49
【问题描述】:

我有一个要转换为逗号分隔字符串的数组。 Array.toString() 有效,但如果我有一个相当大的数组,它不会换行,因为逗号后没有空格:

document.body.innerHTML = ['css','html','xhtml','html5','css3','javascript','jquery','lesscss','arrays','wordpress','facebook','fbml','table','.htaccess','php','c','.net','c#','java'].toString();
// css,html,xhtml,html5,css3,javascript,jquery,lesscss,arrays,wordpress,facebook,fbml,table,.htaccess,php,c,.net,c#,java

如何在逗号后添加空格以允许换行/换行?

示例输出:

css, html, xhtml, html5, css3, javascript, jquery, lesscss, arrays, wordpress, facebook, fbml, table, .htaccess, php, c, .net, c#, java

【问题讨论】:

标签: javascript arrays string tostring


【解决方案1】:

在 JavaScript 中,数组上有一个 .join() 方法来获取字符串,您可以为其提供分隔符。在您的情况下,它看起来像这样:

var myArray = ['css','html','xhtml','html5','css3','javascript','jquery','lesscss','arrays','wordpress','facebook','fbml','table','.htaccess','php','c','.net','c#','java'];
var myString = myArray.join(', ');

You can test it out here

【讨论】:

  • 没有.join() 方法有没有办法做到这一点?
【解决方案2】:

使用array.join(", ");,它应该可以工作

【讨论】:

    【解决方案3】:
     string.Join(", ", new string[] { "css", "html", "xhtml", ..etc });
    

    这会打印带有逗号和空格的项目

    [编辑] 对不起,没有看到它是用于 javascript 的。我的代码是 c# :)

    【讨论】:

      【解决方案4】:

      我在评论中看到了如何在没有 .join() 函数的情况下实现这一点的问题。

      这是一种棘手的方法:

      const array_of_strings = ['css','html','xhtml','html5','css3','javascript','jquery','lesscss','arrays','wordpress','facebook','fbml','table','.htaccess','php','c','.net','c#','java']
      const separator = ', '
      const result = array_of_strings.reduce((accumulator, currentValue) => accumulator + separator + currentValue);
      console.log(result)

      【讨论】:

        【解决方案5】:

        通过正则表达式尝试这种方式

        let arr = ['css', 'html', 'xhtml', 'html5', 'css3', 'javascript', 'jquery', 'lesscss', 'arrays', 'wordpress', 'facebook', 'fbml', 'table', '.htaccess', 'php', 'c', '.net', 'c#', 'java'].toString();
        
        let myString = arr.replace(/,[s]*/g, ", ");
        
        
        console.log(myString);

        【讨论】:

          【解决方案6】:

          必须在每个单词前面加上 #,.join() 对第一个单词不起作用,必须这样做:

          var myString = '#'+ myArray.join(', ');
          

          【讨论】:

          • 重复回答,上面已经多次提到了相同的解决方案。
          猜你喜欢
          • 2019-06-21
          • 2014-01-19
          • 1970-01-01
          • 1970-01-01
          • 2018-01-29
          • 2022-01-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多