Array.prototype.join()

join() メソッドは、配列 (または配列風オブジェクト) の全要素を順に連結した文字列を新たに作成して返します。区切り文字はコンマ、または指定された文字列です。配列にアイテムが一つしかない場合は、区切り文字を使用せずにアイテムが返されます。

構文

arr.join([separator])

引数

separator Optional
配列の各要素を区切る文字列を指定します。 separator は、必要であれば文字列に変換されます。省略した場合、配列の要素はコンマ (",") で区切られます。 separator に空文字列を渡した場合、すべての要素の間が区切り文字無しで繋がれます。

返値

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

解説

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

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

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

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

var a = ['風', '水', '火'];
a.join();      // '風,水,火'
a.join(', ');  // '風, 水, 火'
a.join(' + '); // '風 + 水 + 火'
a.join('');    // '風水火'

配列風オブジェクトを連結する

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

function f(a, b, c) {
  var s = Array.prototype.join.call(arguments);
  console.log(s); // '1,a,true'
}
f(1, 'a', true);
//expected output: "1,a,true"

仕様書

仕様書 状態 備考
ECMAScript Latest Draft (ECMA-262)
Array.prototype.join の定義
ドラフト
ECMAScript 2015 (6th Edition, ECMA-262)
Array.prototype.join の定義
標準
ECMAScript 5.1 (ECMA-262)
Array.prototype.join の定義
標準
ECMAScript 1st Edition (ECMA-262) 標準 初回定義。JavaScript 1.1 で実装。

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
joinChrome 完全対応 1Edge 完全対応 12Firefox 完全対応 1IE 完全対応 5.5Opera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり

凡例

完全対応  
完全対応

関連情報