配列の要素をループして連結することでこれができることを知っています。しかし、私はワンライナーソリューションを探しています。 toString()およびjoin()は、コンマで区切られた要素を含む文字列を返します。例えば、
var array = ['Apple', 'tree'];
var toString = array.toString() # Will return 'Apple,tree' instead of 'Apple tree', same for join() method
引数を渡さずにjoin
を呼び出すと、,
(コンマ)がデフォルトとして使用され、toString
は引数を渡さずにjoin
を内部的に呼び出します。
したがって、独自のセパレータを渡します。
var str = array.join(' '); //'Apple tree'
// separator ---------^
join
に区切り文字を渡します。
['Apple', 'tree'].join(' '); // 'Apple tree'
最も簡単な方法は、.join(' ')
を使用することです。
ただし、配列にnull
のような長さゼロのオブジェクトが含まれる場合、次のコードは複数のスペースを避けます。
arr.filter(i => [i].join(" ").length > 0).join(" ");
以下に使用例を示します。
Array.prototype.merge = function(char = " ") {
return this.filter(i => [i].join(" ").length > 0).join(char);
};
console.log(["a", null, null, "b"].merge());
Array.join()メソッドを使用します。不要な空白を削除してください。
var newStr = array.join(' ').trim()