Q: How to convert array into string without comma and separated by space in javascript without concatenation? 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 elements separated by commas.
For example,
var array = ['apple', 'tree'];
var toString = array.toString()    # Will return 'apple,tree' instead of 'apple tree', same for join() method


A: 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

A: pass a delimiter in to join.
['apple', 'tree'].join(' '); // 'apple tree'


A: Use the Array.join() method. Trim to remove any unnecessary whitespaces.
var newStr = array.join(' ').trim()

A: 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());


A: If you didn't want to use toString() or join(), you could do something like this:
for(let i=0;i</*Array*/.length;i++)if(/*Variable*/=="")/*Variable*/+=/*Array*/[i];else /*Variable*/+="/*Separator*/"+/*Array*/[i];

Separator is what to put between each item. In your case, you would change that to a space.

A: You could use splice method to add space item to array
var array = ['apple', 'tree'];
 array.splice(1, 0, ' ')

And for convert array to string use built-in methode call join()and the output will be like you want:
array.join('');
// "apple tree"

