[TypeScript]配列同士を結合するには?

TypeScript

どうも、ちょげ(@chogetarou)です。

配列(array)同士を結合する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

配列(array)同士を結合する方法は、3つあります。

concat()

1つ目は、concat()を使う方法です。

まず、配列からconcat()を呼び出します。

そして、concat()の引数に結合する他の配列を指定します。

const result1 = array.concat(array2) //arrayとarray2を結合

concatメソッドを使えば、配列同士を結合することができます。

concatメソッドは、元の配列に影響を与えることなく、配列を結合した結果を返します。

もし、3つ以上の配列を結合したい場合は、concat()の引数にカンマ区切りで複数の配列を指定します。

//3つ以上の配列を結合
const result = array.concat(array2, array3, ・・・);

使用例

const array = [1, 2, 3];
const array2 = [4, 5, 6];
const array3 = [7, 8, 9];

const result1 = array.concat(array2);
const result2 = array.concat(array2, array3);

console.log(result1); 
console.log(result2);
出力:
[ 1, 2, 3, 4, 5, 6 ]
[
  1, 2, 3, 4, 5,
  6, 7, 8, 9
]

push()

2つ目は、push()を使う方法です。

まず、配列からpush()を呼び出します。

そして、push()の引数に、先頭に「…」を付けた他の配列を指定します。

array.push(...array2); //arrayにarray2を結合

上記のpush()は、呼び出した配列に引数に指定した配列を結合します。

もし、3つ以上の配列を結合したい場合は、puh()の引数にカンマ区切りで、先頭に「…」を付けた複数の配列を指定します。

//3つ以上の配列を結合
array.push(...array2, ...array3, ・・・);

使用例1

const array = [1, 2, 3];
const array2 = [4, 5, 6];

array.push(...array2);

console.log(array);
出力:
[ 1, 2, 3, 4, 5, 6 ]

使用例2

const array = [1, 2, 3];
const array2 = [4, 5, 6];
const array3 = [7, 8, 9];

array.push(...array2, ...array3);

console.log(array);
出力:
[
  1, 2, 3, 4, 5,
  6, 7, 8, 9
]

[]

3つ目は、[]を使う方法です。

具体的な方法としては、[]内に結合する配列を先頭に「…」を付け、カンマ区切りで指定します。

//[]内に結合する配列をカンマ区切りで指定
//配列名の先頭に「...」をつける
const result = [...array1, ...array2, ・・・];

上記の[]は、指定した配列同士を結合した結果を返します。

使用例

const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
const array3 = [7, 8, 9];

const result1 = [...array1, ...array2];
const result2 = [...array1, ...array2, ...array3];

console.log(result1);
console.log(result2);
出力:
[ 1, 2, 3, 4, 5, 6 ]
[
  1, 2, 3, 4, 5,
  6, 7, 8, 9
]
スポンサーリンク

まとめ

配列(array)同士を結合する方法は、次の3つです。

  • concat()を使う方法
    const result = array.concat(array2);
  • push()を使う方法
    array.push(...array2);
  • []を使う方法
    const result = [...array1, ...array2, ・・・];

コメント

タイトルとURLをコピーしました