用逗号和空格连接一个数组

92
我有一个数组,我想将其转换为逗号分隔的字符串。使用 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

相关链接:https://dev59.com/Zm435IYBdhLWcg3wqB4x#12810028 - Justin
5个回答

202

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(', ');

你可以在这里测试它


2
有没有一种方法可以在不使用.join()方法的情况下完成这个任务? - ConstantFun

26
请使用array.join(", ");,它会正常工作。

2
 string.Join(", ", new string[] { "css", "html", "xhtml", ..etc });

这段代码会用逗号和空格打印出所有项。 [编辑] 对不起,我没看到这是针对JavaScript的。我的代码是C# :)

0

尝试使用正则表达式这种方式

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);


0
我在评论中看到了如何在没有.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)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接