カテゴリ: JavaScript 更新日: 2025/12/25

JavaScriptの配列を結合する方法(concat, spread構文など)

JavaScriptの配列を結合する方法(concat, spread構文など)
JavaScriptの配列を結合する方法(concat, spread構文など)

先生と生徒の会話形式で理解しよう

生徒

「JavaScriptで複数の配列をひとつにまとめる方法ってありますか?」

先生

「はい、配列を結合する方法は主に2つあります。ひとつはconcatメソッドを使う方法、もうひとつはスプレッド構文という新しい書き方を使う方法です。」

生徒

「スプレッド構文って何ですか?それにconcatメソッドとはどう違うんですか?」

先生

「順を追ってわかりやすく説明しますね!」

1. 配列を結合するとは?

1. 配列を結合するとは?
1. 配列を結合するとは?

配列は複数のデータをまとめたものですが、時には別々の配列を一つにまとめたいことがあります。例えば、果物のリストと野菜のリストが別々にあって、それを一緒にしたい場合などです。このように配列をつなげて一つにすることを「結合」と言います。

2. concatメソッドで配列を結合する方法

2. concatメソッドで配列を結合する方法
2. concatメソッドで配列を結合する方法

concatは配列に対して使う「他の配列や値をつなげる」ためのメソッドです。使い方は簡単で、つなげたい配列や値をconcatのかっこ内に入れます。


let fruits = ["りんご", "みかん"];
let vegetables = ["にんじん", "キャベツ"];

let food = fruits.concat(vegetables);
console.log(food);  // ["りんご", "みかん", "にんじん", "キャベツ"]

この例では、fruits配列にvegetables配列をつなげて、新しい配列foodを作っています。元の配列は変わらず、新しい配列が作られる点に注意しましょう。

3. スプレッド構文を使った配列の結合

3. スプレッド構文を使った配列の結合
3. スプレッド構文を使った配列の結合

スプレッド構文は、配列やオブジェクトの中身を「広げる」ことができる記号のことで、三つの点 ... で表します。これを使うと配列の中身を簡単に他の配列に入れられます。


let fruits = ["りんご", "みかん"];
let vegetables = ["にんじん", "キャベツ"];

let food = [...fruits, ...vegetables];
console.log(food);  // ["りんご", "みかん", "にんじん", "キャベツ"]

この方法はconcatよりも書き方がシンプルで、複数の配列をまとめるのに便利です。複数の配列を同時に広げて結合できます。

4. concatとスプレッド構文の違い

4. concatとスプレッド構文の違い
4. concatとスプレッド構文の違い

concatspread構文も新しい配列を作る点は同じですが、書き方の違いで使い分けができます。concatは古くからある方法で読みやすく、スプレッド構文はモダンなJavaScriptで特に複数配列の結合に便利です。

例えば、たくさんの配列をまとめたいときはスプレッド構文の方がすっきり書けます。

5. 配列の値を直接追加する場合

5. 配列の値を直接追加する場合
5. 配列の値を直接追加する場合

結合だけでなく、配列に新しい値を加えたい時もあります。スプレッド構文なら次のように配列の間に値も入れられます。


let fruits = ["りんご", "みかん"];

let newFruits = [...fruits, "バナナ", "ぶどう"];
console.log(newFruits);  // ["りんご", "みかん", "バナナ", "ぶどう"]

このように配列の中に直接値を追加して新しい配列を作ることもできます。

6. 元の配列は変わらない

6. 元の配列は変わらない
6. 元の配列は変わらない

注意したいのは、concatもスプレッド構文も元の配列はそのままで、新しく結合した配列を返すだけだということです。元の配列を直接書き換えたい場合は別の方法が必要ですが、基本は新しい配列を作るこのやり方が安全でよく使われます。

まとめ

まとめ
まとめ

配列を結合する考え方を振り返ろう

この記事では、JavaScriptにおける配列の結合方法について、concatメソッドとスプレッド構文を中心に学んできました。配列は複数のデータを順番にまとめて扱える便利な仕組みですが、実際の開発では「別々に用意した配列を一つにまとめたい」という場面が頻繁に登場します。たとえば、画面表示用のデータをまとめたり、条件ごとに分けて取得した配列を最終的に一つに整理したりするケースです。

まず理解しておきたいのは、「配列を結合する」とは、元の配列同士をくっつけて新しい配列を作る操作だという点です。どちらの方法を使っても、元の配列そのものが書き換えられることはなく、新しい配列が作られるという共通点があります。この特徴は、思わぬデータの書き換えを防ぐ意味でも、とても重要なポイントです。

concatとスプレッド構文の使い分け

concatメソッドは、昔から使われてきた配列結合の基本的な方法です。書き方がシンプルで、「この配列に、あの配列をつなげる」という意味がコードから直感的に読み取れるため、初心者にも理解しやすいのが特徴です。一つずつ順番に配列を結合したい場合や、処理の流れをはっきり見せたいときに向いています。

一方、スプレッド構文は配列の中身を展開して結合できる、比較的新しい書き方です。複数の配列をまとめて結合したり、配列の途中や末尾に値を追加したりできるため、柔軟で読みやすいコードを書きやすくなります。配列をそのまま並べる感覚で書けるので、慣れてくると直感的に使えるようになります。


// concatを使った結合
let a = [1, 2];
let b = [3, 4];
let result1 = a.concat(b);

// スプレッド構文を使った結合
let result2 = [...a, ...b];

console.log(result1); // [1, 2, 3, 4]
console.log(result2); // [1, 2, 3, 4]

結果は同じでも、書き方や考え方が少し違うことが分かります。どちらが正解というわけではなく、「読みやすいか」「あとから見て分かりやすいか」を基準に選ぶことが大切です。

初心者が意識しておきたいポイント

配列の結合を学び始めたばかりの頃は、「どの方法を使えばいいのか」で迷ってしまいがちです。その場合は、まずスプレッド構文を使ってみるのがおすすめです。配列をそのまま並べる感覚で書けるため、視覚的にも理解しやすく、複数の配列を扱う場面でも混乱しにくくなります。

また、配列を結合する処理は、配列操作の中でも基本中の基本です。この考え方をしっかり理解しておくと、あとから登場する配列の加工やデータ整理の処理もスムーズに理解できるようになります。

先生と生徒の振り返り会話

生徒

「配列を結合するって、ただくっつけるだけかと思っていましたが、元の配列が変わらないのは安心ですね。」

先生

「そうですね。JavaScriptでは元のデータを守りながら新しい配列を作る考え方がよく使われます。バグを防ぐ意味でも大切なポイントですよ。」

生徒

「concatとスプレッド構文は、どちらも結果は同じだけど、書き方で選べばいいんですね。」

先生

「その通りです。最初はスプレッド構文を使って、慣れてきたら状況に応じて使い分けられるようになると良いですね。」

生徒

「配列の結合が分かってきたので、データをまとめる処理が前よりイメージしやすくなりました!」

先生

「それは良いですね。配列操作はJavaScriptの基礎なので、ぜひいろいろなデータで試して感覚を身につけていきましょう。」

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptでlet・constの違いを理解して使い分けよう!初心者向け完全解説
New2
JavaScript
JavaScriptで曜日を取得する方法を初心者向けに解説!getDayメソッドの使い方
New3
TypeScript
TypeScriptでテンプレート文字列(バッククォート)の使い方をやさしく解説!初心者向け完全ガイド
New4
TypeScript
TypeScriptで最初に覚えたい基本構文まとめ
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptで日時を比較する方法!getTimeとvalueOfを使って簡単に理解
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptの現在日時を取得する方法を完全ガイド!初心者でもわかるDate.now()とnew Date()
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptでISO形式の日付文字列を生成する方法!初心者でも簡単に理解
No.6
Java&Spring記事人気No6
TypeScript
TypeScriptで関数を引数として渡す方法を徹底解説!初心者でもわかる実装例
No.7
Java&Spring記事人気No7
TypeScript
TypeScriptのプロジェクトをtscでビルドする基本操作を解説!初心者にもわかるステップバイステップ
No.8
Java&Spring記事人気No8
TypeScript
TypeScriptの始め方:開発環境の構築手順【初心者向け】