Join an array by a comma and a space
I have an array that I want con开发者_JAVA百科verted to a comma delimited string. Array.toString()
works, but if I have a rather large array it won't wrap because there are no spaces after the commas:
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
How can I have spaces after the commas in order to allow line/word wrapping?
Example output:
css, html, xhtml, html5, css3, javascript, jquery, lesscss, arrays, wordpress, facebook, fbml, table, .htaccess, php, c, .net, c#, java
In JavaScript there's a .join()
method on arrays to get a string, which you can provide the delimiter to. In your case it'd look like this:
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
Use array.join(", ");
and it should work
string.Join(", ", new string[] { "css", "html", "xhtml", ..etc });
This prints the items with a comma and a space
[edit] I'm sorry, did not see it was for javascript. My code is c# :)
I saw in a comment the question of how to make that without the .join()
function.
Here is one tricky way:
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)
Try this way by the regex
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);
精彩评论