web-dev-qa-db-ja.com

コンマなしで配列を文字列に変換し、連結せずにJavaScriptでスペースで区切る方法は?

配列の要素をループして連結することでこれができることを知っています。しかし、私はワンライナーソリューションを探しています。 toString()およびjoin()は、コンマで区切られた要素を含む文字列を返します。例えば、

var array = ['Apple', 'tree'];
var toString = array.toString()    # Will return 'Apple,tree' instead of 'Apple tree', same for join() method
18
tlaminator

引数を渡さずにjoinを呼び出すと、,(コンマ)がデフォルトとして使用され、toStringは引数を渡さずにjoinを内部的に呼び出します。

したがって、独自のセパレータを渡します。

var str = array.join(' '); //'Apple tree'
// separator ---------^

Array.joinのMDN

41
Amit Joki

joinに区切り文字を渡します。

['Apple', 'tree'].join(' '); // 'Apple tree'
5
Cheezmeister

最も簡単な方法は、.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());
0
Richie Bendall

Array.join()メソッドを使用します。不要な空白を削除してください。

var newStr = array.join(' ').trim()

0
Seyi Oluwadare