try
array.reduce( (s,x,i) => s+(i>0 ? separator : '') + (x==null ? '' : x), '')
function myJoin(array, separator=',') {
return array.reduce( (s,x,i) => s+(i>0 ? separator : '') + (x==null ? '' : x), '')
}
console.log( myJoin(['a', 'b', 'c'], '+') );
console.log( myJoin(['Peter', 'Paul', 'Mary']) );
console.log( myJoin(['hello', undefined, 'world'], '-') );
We use here standard js functionalities: arrow functions, array reduce and ternary operator. If i>0 (not true only for first element) we add separator to output string s. If x is undefined or null we add to s empty string - or x value in other case.
How do I convert an array to a string with commas in JavaScript
How to convert array into comma separated string in javascript - Stack Overflow
Easy way to turn JavaScript array into comma-separated list? - Stack Overflow
Show json array field as comma separated values
Videos
try
array.reduce( (s,x,i) => s+(i>0 ? separator : '') + (x==null ? '' : x), '')
function myJoin(array, separator=',') {
return array.reduce( (s,x,i) => s+(i>0 ? separator : '') + (x==null ? '' : x), '')
}
console.log( myJoin(['a', 'b', 'c'], '+') );
console.log( myJoin(['Peter', 'Paul', 'Mary']) );
console.log( myJoin(['hello', undefined, 'world'], '-') );
We use here standard js functionalities: arrow functions, array reduce and ternary operator. If i>0 (not true only for first element) we add separator to output string s. If x is undefined or null we add to s empty string - or x value in other case.
function myJoin(array, separator=',') {
let str = '';
for (let i = 0; i < array.length; i++) {
if (array[i] !== null && array[i] !== undefined)
str += array[i];
if (i < array.length - 1)
str += separator;
}
return str;
}
console.log(myJoin(['a','b','c']));
console.log(myJoin(['a','b','c'], '+'));
console.log(myJoin(['a',null,'c'], '-'));
console.log(myJoin(['a','b',undefined], '.'));
In JavaScript, you can convert an array to a string with commas using the join()
method.
The join() method returns a string that concatenates all the elements of an array, separated by the specified separator, which in this case is a comma.
Here is an example:
const array = ['apple', 'banana', 'orange'];
const string = array.join(', ');
console.log(string);
// output: "apple, banana, orange"In this example, we first define an array of three fruits. Then we use the join()
method with a comma and a space as the separator to create a string that lists all the fruits with a comma and a space between each one.
You can replace the comma and space separator with any other separator you like, such as a hyphen, a semicolon, or a newline character.
It's important to note that the join() method only works on arrays, and it will throw an error if you try to use it on any other type of object.
Click here to learn more ways to Convert Array to String with Commas in JS
The method array.toString() actually calls array.join() which result in a string concatenated by commas. ref
var array = ['a','b','c','d','e','f'];
document.write(array.toString()); // "a,b,c,d,e,f"
Also, you can implicitly call Array.toString() by making javascript coerce the Array to an string, like:
//will implicitly call array.toString()
str = ""+array;
str = `${array}`;
Array.prototype.join()
The join() method joins all elements of an array into a string.
Arguments:
It accepts a separator as argument, but the default is already a comma ,
str = arr.join([separator = ','])
Examples:
var array = ['A', 'B', 'C'];
var myVar1 = array.join(); // 'A,B,C'
var myVar2 = array.join(', '); // 'A, B, C'
var myVar3 = array.join(' + '); // 'A + B + C'
var myVar4 = array.join(''); // 'ABC'
Note:
If any element of the array is undefined or null , it is treated as an empty string.
Browser support:
It is available pretty much everywhere today, since IE 5.5 (1999~2000).
References
- ECMA Specification
- Mozilla
- MSDN
Use the join method from the Array type.
a.value = [a, b, c, d, e, f];
var stringValueYouWant = a.join();
The join method will return a string that is the concatenation of all the array elements. It will use the first parameter you pass as a separator - if you don't use one, it will use the default separator, which is the comma.
The Array.prototype.join() method:
var arr = ["Zero", "One", "Two"];
document.write(arr.join(", "));
Actually, the toString() implementation does a join with commas by default:
var arr = [ 42, 55 ];
var str1 = arr.toString(); // Gives you "42,55"
var str2 = String(arr); // Ditto
I don't know if this is mandated by the JS spec but this is what most pretty much all browsers seem to be doing.