1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
---
title: Array.prototype.join()
slug: Web/JavaScript/Reference/Global_Objects/Array/join
tags:
- Array
- JavaScript
- Join
- Method
- Prototype
- Reference
- メソッド
translation_of: Web/JavaScript/Reference/Global_Objects/Array/join
---
<div>{{JSRef}}</div>
<p><span class="seoSummary"><code><strong>join()</strong></code> メソッドは、配列 (または<a href="/ja/docs/Web/JavaScript/Guide/Indexed_collections#Working_with_array-like_objects">配列風オブジェクト</a>) の全要素を順に連結した文字列を新たに作成して返します。区切り文字はカンマ、または指定された文字列です。配列にアイテムが一つしかない場合は、区切り文字を使用せずにアイテムが返されます。</span></p>
<div>{{EmbedInteractiveExample("pages/js/array-join.html")}}</div>
<p class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</p>
<h2 id="Syntax" name="Syntax">構文</h2>
<pre class="syntaxbox notranslate"><var>arr</var>.join([<var>separator</var>])</pre>
<h3 id="Parameters" name="Parameters">引数</h3>
<dl>
<dt><code><var>separator</var></code> {{optional_inline}}</dt>
<dd>配列の各要素を区切る文字列を指定します。 separator は、必要であれば文字列に変換されます。省略した場合、配列の要素はカンマ (",") で区切られます。 <code>separator</code> に空文字列を渡した場合、すべての要素の間が区切り文字無しで繋がれます。</dd>
</dl>
<h3 id="Return_value" name="Return_value">返値</h3>
<p>配列の全要素が連結された文字列です。 <code><em>arr</em>.length</code> が <code>0</code> だった場合、空の文字列が返されます。</p>
<h2 id="Description" name="Description">解説</h2>
<p>配列のすべての要素を文字列に変換したものが、1 個の文字列に繋がれます。</p>
<div class="warning">
<p>要素が <code>undefined</code> または <code>null</code> または空配列 <code>[]</code> であった場合は、空の文字列に変換されます。</p>
</div>
<h2 id="Examples" name="Examples">例</h2>
<h3 id="Joining_an_array_three_different_ways" name="Joining_an_array_three_different_ways">3 通りの異なる形で配列をつなぐ</h3>
<p>以下の例は、3 個の要素を持つ配列 <code>a</code> を作成し、デフォルト引数、カンマとスペース、そして「と」と空文字を使った 4 パターンの結合を行っています。</p>
<pre class="brush: js notranslate">var a = ['風', '水', '火'];
a.join(); // '風,水,火'
a.join(', '); // '風, 水, 火'
a.join(' + '); // '風 + 水 + 火'
a.join(''); // '風水火'</pre>
<h3 id="Joining_an_array-like_object" name="Joining_an_array-like_object">配列風オブジェクトを連結する</h3>
<p>次の例は<font face="Arial, x-locale-body, sans-serif"><span style="background-color: #ffffff;">、</span></font>配列風オブジェクト ( <code><a href="/ja/docs/Web/JavaScript/Reference/Functions/arguments">arguments</a></code> )を連結するために、 <code>Array.prototype.join</code> を {{jsxref("Function.prototype.call")}} を使用して呼び出します。</p>
<pre class="brush: js notranslate">function f(a, b, c) {
var s = Array.prototype.join.call(arguments);
console.log(s); // '<span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body"><span class="objectBox objectBox-string">1,a,true'</span></span></span></span>
}
f(1, 'a', true);
//expected output: "1,a,true"
</pre>
<h2 id="Specifications" name="Specifications">仕様書</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">仕様書</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName('ESDraft', '#sec-array.prototype.join', 'Array.prototype.join')}}</td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
<p>{{Compat("javascript.builtins.Array.join")}}</p>
<h2 id="See_also" name="See_also">関連情報</h2>
<ul>
<li>{{jsxref("String.prototype.split()")}}</li>
<li>{{jsxref("Array.prototype.toString()")}}</li>
<li>{{jsxref("TypedArray.prototype.join()")}}</li>
</ul>
|