目次
- 1. 概要
- 2. 構文
- 3. 引数
- 4.
説明
- 4.1. 例
- 4.2. 例: 2 つの配列を連結させる
- 4.3. 例: 3 つの配列を連結させる
- 4.4. 例: 配列に値を連結させる
概要
配列に他の配列や値をつないでできた新しい配列を返します。
| Array のメソッド | |
| 実装されたバージョン: | JavaScript 1.2, NES 3.0 |
|---|---|
| ECMA バージョン: | ECMA-262 |
構文
var resultArray = array.concat(value1, value2, ..., valueN);
引数
valueN- 結果となる配列に連結させる配列や値。
説明
concat は、メソッドを呼び出した this オブジェクトの要素に、与えられた引数の要素 (引数が配列である場合) または引数そのもの (引数が配列でない場合) が順に続く、新しい配列オブジェクトを生成します。
concat は this や引数として与えられた配列を変更しませんが、その代わりに元の配列から結合させた同じ要素のコピーを含む「1 段階深い」コピーを返します。元の配列の要素は以下のようにして新しい配列にコピーされます。
- オブジェクトの参照 (実際のオブジェクトではなく):
concatはオブジェクトの参照を新しい配列にコピーします。元の配列も新しい配列も同じオブジェクトを参照します。これはつまり、もし参照されているオブジェクトが修正されれば、その変更は元の配列と新しい配列の両方に現れるわけです。 - 文字列や数値 (String オブジェクトや Number オブジェクトではなく):
concatは文字列や数値の値を新しい配列にコピーします。
新しい配列へどんな操作をしても、元の配列には影響しません。逆もまた同様です。
例
例: 2 つの配列を連結させる
以下のコードは 2 つの配列を連結させます。
var alpha = ["a", "b", "c"]; var numeric = [1, 2, 3]; // 配列 ["a", "b", "c", 1, 2, 3] を生成; alpha と numeric は変化しません var alphaNumeric = alpha.concat(numeric);
例: 3 つの配列を連結させる
以下のコードは 3 つの配列を連結させます。
var num1 = [1, 2, 3]; var num2 = [4, 5, 6]; var num3 = [7, 8, 9]; // 配列 [1, 2, 3, 4, 5, 6, 7, 8, 9] を生成; num1, num2, num3 は変化しません var nums = num1.concat(num2, num3);
例: 配列に値を連結させる
以下のコードは配列に値を連結させます。
var alpha = ['a', 'b', 'c']; // 配列 ["a", "b", "c", 1, 2, 3] を生成し, alpha は変化せずそのまま var alphaNumeric = alpha.concat(1, [2, 3]);
Mozilla Developer Network