カテゴリ: JavaScript 更新日: 2025/08/17

JavaScriptの配列の応用テクニック!よく使う便利な書き方まとめ

JavaScriptの配列の応用テクニック!よく使う便利な書き方まとめ
JavaScriptの配列の応用テクニック!よく使う便利な書き方まとめ

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

生徒

「先生、JavaScriptの配列って基本はわかるけど、もっと便利で使いやすいテクニックってありますか?」

先生

「ありますよ。配列はデータを整理する強力な道具なので、応用テクニックを覚えるとずっと効率よく扱えます。具体的な便利な書き方をいくつか紹介しましょう!」

生徒

「ぜひ教えてください!」

1. スプレッド構文で配列を簡単にコピー・結合する

1. スプレッド構文で配列を簡単にコピー・結合する
1. スプレッド構文で配列を簡単にコピー・結合する

配列のコピーや複数の配列を結合するときに、スプレッド構文(...)が便利です。これは配列の中身を展開するという意味です。

例えば、arr1arr2を結合して新しい配列を作るのはこう書きます。


let arr1 = [1, 2, 3];
let arr2 = [4, 5];
let combined = [...arr1, ...arr2];
console.log(combined);  // [1, 2, 3, 4, 5]

コピーするときも同じく、簡単に新しい配列が作れます。


let copyArr = [...arr1];

スプレッド構文はわかりやすくてミスが減るのでおすすめです。

2. map()で配列の中身を変換する

2. map()で配列の中身を変換する
2. map()で配列の中身を変換する

map()は配列の全要素に同じ処理をして、新しい配列を作りたいときに使います。元の配列は変わりません。

例えば、数値の配列を全部2倍にする場合。


let numbers = [1, 2, 3];
let doubled = numbers.map(num => num * 2);
console.log(doubled);  // [2, 4, 6]

わかりやすく言うと、配列の中身を全部別のものに「変換」するイメージです。

3. filter()で条件に合う要素だけ取り出す

3. filter()で条件に合う要素だけ取り出す
3. filter()で条件に合う要素だけ取り出す

filter()は配列の中から条件を満たす要素だけを集めて新しい配列を作ります。

例えば、偶数だけを取り出したいとき。


let numbers = [1, 2, 3, 4, 5];
let evens = numbers.filter(num => num % 2 === 0);
console.log(evens);  // [2, 4]

条件を書くだけで簡単に絞り込みができる便利なメソッドです。

4. find()で条件に合う最初の要素を取得する

4. find()で条件に合う最初の要素を取得する
4. find()で条件に合う最初の要素を取得する

find()は条件を満たす最初の要素だけを取得します。絞り込みの中で一つだけほしいときに使います。


let users = [
  {name: "太郎", age: 25},
  {name: "花子", age: 30},
  {name: "次郎", age: 25}
];
let user = users.find(user => user.age === 25);
console.log(user);  // {name: "太郎", age: 25}

最初に条件に合ったものだけ欲しいときに使いやすいです。

5. reduce()で配列をまとめる

5. reduce()で配列をまとめる
5. reduce()で配列をまとめる

reduce()は配列の全要素を使って一つの値にまとめたいときに使います。例えば合計や平均を計算する場合です。


let numbers = [1, 2, 3, 4];
let sum = numbers.reduce((total, num) => total + num, 0);
console.log(sum);  // 10

初めて見ると少し難しいかもしれませんが、「前の結果」と「今の値」を順番に足していくイメージです。

6. includes()で配列に特定の値があるかチェックする

6. includes()で配列に特定の値があるかチェックする
6. includes()で配列に特定の値があるかチェックする

includes()は配列に特定の値が含まれているかどうかを調べます。見つかればtrue、なければfalseを返します。


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

条件分岐などで「あるかないか」を簡単に判断できます。

7. 配列の空チェックはlengthで行う

7. 配列の空チェックはlengthで行う
7. 配列の空チェックはlengthで行う

配列が空かどうか調べるときは、配列の長さを表すlengthを使います。0なら空の配列です。


let arr = [];
if (arr.length === 0) {
  console.log("配列は空です");
}

空の配列かどうかはプログラムの分岐でよく使うチェックポイントです。

8. 配列の並び替えはsort()を使う

8. 配列の並び替えはsort()を使う
8. 配列の並び替えはsort()を使う

sort()は配列の要素を並び替えます。ただし、文字列の場合は正しく並びますが、数値は注意が必要です。

数値を正しく並び替える例はこちら。


let numbers = [10, 5, 20, 1];
// 比較関数を渡すと正しく数値順に並ぶ
numbers.sort((a, b) => a - b);
console.log(numbers);  // [1, 5, 10, 20]

比較関数なしだと、文字列として並ぶので注意しましょう。

9. 配列を文字列に変換するときはjoin()を使う

9. 配列を文字列に変換するときはjoin()を使う
9. 配列を文字列に変換するときはjoin()を使う

join()は配列の中身を指定した文字でつなげて一つの文字列にします。例えば、カンマやスペースでつなげることができます。


let arr = ["りんご", "みかん", "バナナ"];
console.log(arr.join(", "));  // りんご, みかん, バナナ

文字列として表示したいときに便利なメソッドです。

10. 配列のネストとフラット化(flat())

10. 配列のネストとフラット化(flat())
10. 配列のネストとフラット化(flat())

配列の中に配列が入っている場合を「ネストされた配列」と言います。そんな時はflat()を使うと一段階だけ中身を取り出してフラットな配列にできます。


let nested = [1, 2, [3, 4], 5];
let flat = nested.flat();
console.log(flat);  // [1, 2, 3, 4, 5]

深いネストがある場合は引数に数字を入れて何段階かフラット化できます。

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptのモジュール分離と単一責任原則(SRP)に基づく設計を初心者向けに徹底解説
New2
JavaScript
JavaScriptの正規表現を文字列に動的に組み込む方法(RegExpコンストラクタ)
New3
TypeScript
TypeScriptでグローバル名前空間の汚染を避ける設計方法!モジュール設計の基本
New4
JavaScript
JavaScriptの正規表現をデバッグするツールの使い方
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptの正規表現をデバッグするツールの使い方
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptの正規表現で繰り返し指定(* + ? {n,m})を学ぼう
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptの正規表現を使ったバリデーション例まとめ
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptの正規表現で否定のパターンを表す方法を学ぼう
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptの正規表現でlookahead・lookbehindを使う応用例
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptの正規表現のよくあるエラーとその対処法