From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../global_objects/array/concat/index.html | 141 +++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 files/ja/web/javascript/reference/global_objects/array/concat/index.html (limited to 'files/ja/web/javascript/reference/global_objects/array/concat') diff --git a/files/ja/web/javascript/reference/global_objects/array/concat/index.html b/files/ja/web/javascript/reference/global_objects/array/concat/index.html new file mode 100644 index 0000000000..12b727925a --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/array/concat/index.html @@ -0,0 +1,141 @@ +--- +title: Array.prototype.concat() +slug: Web/JavaScript/Reference/Global_Objects/Array/concat +tags: + - Array + - JavaScript + - Method + - Prototype + - Reference + - array.concat + - concat +translation_of: Web/JavaScript/Reference/Global_Objects/Array/concat +--- +
{{JSRef}}
+ +

concat() メソッドは、2つ以上の配列を結合するために使用します。このメソッドは既存の配列を変更せず、新しい配列を返します。

+ +
{{EmbedInteractiveExample("pages/js/array-concat.html","shorter")}}
+ + + +

構文

+ +
const new_array = old_array.concat([value1[, value2[, ...[, valueN]]]])
+ +

引数

+ +
+
valueN {{optional_inline}}
+
新しい配列に連結する配列や値です。すべての valueN 引数が省略された場合、 concat は呼び出された既存の配列のシャローコピーを返します。詳しくは下記の解説をお読みください。
+
+ +

返値

+ +

新しい {{jsxref("Array")}} インスタンス。

+ +

解説

+ +

concat は、メソッドを呼び出した this オブジェクトの要素に、与えられた引数の要素 (引数が配列である場合) または引数そのもの (引数が配列でない場合) が順に続く、新しい配列オブジェクトを生成します。

+ +

concatthis や引数として与えられた配列を変更しませんが、その代わりに元の配列から結合させた同じ要素のコピーを含むシャローコピー (1 次元の配列要素までの浅いコピー) を返します。元の配列の要素は以下のようにして新しい配列にコピーされます。

+ + + +
+

注: 連結した配列/値は元の配列には手を付けません。さらに、新しい配列へどんな操作をしても、元の配列には影響しません。逆もまた同様です(要素がオブジェクト参照ではない場合のみです)。

+
+ +

+ +

2 つの配列を連結させる

+ +

以下のコードは 2 つの配列を連結させます。

+ +
const letters = ['a', 'b', 'c'];
+const numbers = [1, 2, 3];
+
+letters.concat(numbers);
+// result in ['a', 'b', 'c', 1, 2, 3]
+
+ +

3 つの配列を連結させる

+ +

以下のコードは 3 つの配列を連結させます。

+ +
const num1 = [1, 2, 3];
+const num2 = [4, 5, 6];
+const num3 = [7, 8, 9];
+
+const numbers = num1.concat(num2, num3);
+
+console.log(numbers);
+// results in [1, 2, 3, 4, 5, 6, 7, 8, 9]
+
+ +

配列に値を連結させる

+ +

以下のコードは配列に値を連結させます。

+ +
const letters = ['a', 'b', 'c'];
+
+const alphaNumeric = letters.concat(1, [2, 3]);
+
+console.log(alphaNumeric);
+// results in ['a', 'b', 'c', 1, 2, 3]
+
+ +

ネストした配列を連結する

+ +

以下のコードはネストした配列同士を連結させます。また、元の配列からの参照を保持しています。

+ +
const num1 = [[1]];
+const num2 = [2, [3]];
+
+const numbers = num1.concat(num2);
+
+console.log(numbers);
+// results in [[1], 2, [3]]
+
+// num1 の最初の要素を変更します
+num1[0].push(4);
+
+console.log(numbers);
+// results in [[1, 4], 2, [3]]
+
+ +

仕様書

+ + + + + + + + + + + + +
仕様書
{{SpecName('ESDraft', '#sec-array.prototype.concat', 'Array.prototype.concat')}}
+ +

ブラウザーの互換性

+ +
+ + +

{{Compat("javascript.builtins.Array.concat")}}

+
+ +

関連情報

+ + -- cgit v1.2.3-54-g00ecf