JavaScript

Array.prototype.join()メソッド

 編集:2022.08.18 by T.A.

その Array(または配列風オブジェクト)の全要素を指定区切り文字列で連結した文字列を返します。

区切り文字はカンマ、または指定された文字列です。

配列にアイテムが一つしかない場合は、区切り文字を使用せずにアイテムが返されます。

arr.join([separator])
arr Arrayオブジェクト
separator 省略可。配列の各要素を区切る文字列を指定します。

separator は、必要であれば文字列に変換されます。省略した場合、配列の要素はカンマ(",")で区切られます。

separator に空文字列を渡した場合、すべての要素の間が区切り文字無しで繋がれます。

戻り値

配列の全要素が連結された文字列です。arr.length が 0 だった場合、空の文字列が返されます。

解説

配列のすべての要素を文字列に変換したものが、1 個の文字列に繋がれます。

要素が undefined または null または空配列 [] であった場合は、空の文字列に変換されます。

3 通りの異なる形で配列をつなぐ

以下の例は、3 個の要素を持つ配列 a を作成し、デフォルト引数、カンマとスペース、そして「と」と空文字を使った 4 パターンの結合を行っています。

var a = ['風', '水', '火'];
D=a.join();      //='風,水,火'
D=a.join(', ');  //='風, 水, 火'
D=a.join(' + '); //='風 + 水 + 火'
D=a.join('');    //='風水火'
配列風オブジェクトを連結する

次の例は、配列風オブジェクト(arguments)を連結するために、 Array.prototype.join を Function.prototype.call を使用して呼び出します。

function f(a, b, c) {
  let s = Array.prototype.join.call(arguments, "、");
  alert(s); //表示:"1、a、true"
}
f(1, 'a', true);

テスト