→
その Array に指定の値を結合した配列を返します。
Array | Arrayオブジェクト |
---|---|
valuen | 省略可。Arrayと連結する値。
すべての valueN 引数が省略された場合、concat は呼び出された既存の配列のシャロー コピーを返します。詳しくは下記の解説をお読みください。 |
新しい Array インスタンス。
concat は、メソッドを呼び出した this オブジェクトの要素に、与えられた引数の要素(引数が配列である場合)または引数そのもの(引数が配列でない場合)が順に続く、新しい配列オブジェクトを生成します。
concat は this や引数として与えられた配列を変更しませんが、その代わりに元の配列から結合させた同じ要素のコピーを含むシャローコピー(1 次元の配列要素までの浅いコピー)を返します。元の配列の要素は以下のようにして新しい配列にコピーされます。
注: 連結した配列/値は元の配列には手を付けません。さらに、新しい配列へどんな操作をしても、元の配列には影響しません。逆もまた同様です(要素がオブジェクト参照ではない場合のみです)。
以下のコードは 2 つの配列を連結させます。
const letters = ['a', 'b', 'c']; const numbers = [1, 2, 3]; D=letters.concat(numbers); //=['a', 'b', 'c', 1, 2, 3]
以下のコードは 3 つの配列を連結させます。
const num1 = [1, 2, 3]; const num2 = [4, 5, 6]; const num3 = [7, 8, 9]; const numbers = num1.concat(num2, num3); //=[1, 2, 3, 4, 5, 6, 7, 8, 9]
以下のコードは配列に値を連結させます。
const letters = ['a', 'b', 'c']; const alphaNumeric = letters.concat(1, [2, 3]); //=['a', 'b', 'c', 1, 2, 3]
以下のコードはネストした配列同士を連結させます。また、元の配列からの参照を保持しています。
const num1 = [[1]]; const num2 = [2, [3]]; const numbers = num1.concat(num2); //=[[1], 2, [3]]
A=['あ', 'い', 'う']; D=A.concat(1, [2, 3]); //=[object]:あ,い,う,1,2,3 //0=[string]:あ //1=[string]:い //2=[string]:う //3=[number]:1 //4=[number]:2 //5=[number]:3
A=[['あ', 'い'], 'う']; D=A.concat(10, 20, 30); //=[object]:あ,い,う,10,20,30 //0=[object]:あ,い //1=[string]:う //2=[number]:10 //3=[number]:20 //4=[number]:30
A=['あ', 'い', 'う']; D=A.concat(10, [20, 30, [100, 200]]); //=[object]:あ,い,う,10,20,30,100,200 //0=[string]:あ //1=[string]:い //2=[string]:う //3=[number]:10 //4=[number]:20 //5=[number]:30 //6=[object]:100,200