I know you can do this through looping through elements of array and concatenating. But I\'m looking for one-liner solutions. toString() and join() returns string with eleme
The easiest way is to use .join(' ')
.
However, if the Array contains zero-length objects like null
, the following code would avoid multiple spaces:
arr.filter(i => [i].join(" ").length > 0).join(" ");
Here's some example usage:
Array.prototype.merge = function(char = " ") {
return this.filter(i => [i].join(" ").length > 0).join(char);
};
console.log(["a", null, null, "b"].merge());
When you call join
without any argument being passed, ,
(comma) is taken as default and toString
internally calls join
without any argument being passed.
So, pass your own separator.
var str = array.join(' '); //'apple tree'
// separator ---------^
MDN on Array.join
pass a delimiter in to join
.
['apple', 'tree'].join(' '); // 'apple tree'
Use the Array.join() method. Trim to remove any unnecessary whitespaces.
var newStr = array.join(' ').trim()