配列
公開日: 2025/06/02
配列とは?複数のデータを扱う基本構造とその活用法
はじめに
プログラミングにおいて「複数の値」をまとめて管理したい場面は多くあります。テストの点数、ユーザーのリスト、商品の一覧など、1つずつ変数にしていたのでは効率が悪くなります。そうした時に便利なのが「配列」です。この記事では、配列の基本構造から使い方、応用までをわかりやすく解説します。
基本情報・概要
配列(array)とは、複数のデータを順序付きでまとめて格納できる構造です。インデックス(添字)によって各要素にアクセスでき、同じ型または異なる型の値を1つのまとまりとして扱えます(言語による)。
const scores = [80, 90, 100]; console.log(scores[0]); // 80
JavaScriptではインデックスは0から始まります。要素数(配列の長さ)は
length
プロパティで取得できます。
console.log(scores.length); // 3
比較・分類・特徴の表形式まとめ
特徴項目 | 内容 |
---|---|
要素数 | 0個以上の値を格納可能 |
型の統一性 | JavaScriptでは混在可、TypeScriptでは制限可能 |
添字の開始 | 通常は0から始まる |
サイズ変更 | 動的に要素を追加・削除可能 |
主な用途 | 複数の同種データを一括で管理・操作するため |
JavaScriptの配列は実はオブジェクトであり、柔軟性が高い反面、過剰な自由度によるバグにも注意が必要です。
深掘り解説
配列の操作メソッド
代表的なメソッドには以下のようなものがあります:
const fruits = ["apple", "banana", "orange"]; fruits.push("grape"); // 末尾に追加 fruits.pop(); // 末尾を削除 fruits.unshift("lemon"); // 先頭に追加 fruits.shift(); // 先頭を削除
また、要素を順に処理するには
forEach
や map
が便利です。
fruits.forEach(fruit => { console.log(fruit); }); const upper = fruits.map(f => f.toUpperCase());
スプレッド構文と配列の結合
複数の配列をまとめるにはスプレッド構文が使えます。
const a = [1, 2]; const b = [3, 4]; const all = [...a, ...b]; // [1, 2, 3, 4]
多次元配列
配列の中に配列を持つことで、表形式のデータなどを扱えます。
const matrix = [ [1, 2], [3, 4] ]; console.log(matrix[1][1]); // 4
応用・発展的な使い方
filter, reduce の活用
-
: 条件に合う要素だけを抽出filter
-
: 要素を畳み込んで1つの値にまとめるreduce
const numbers = [1, 2, 3, 4, 5]; const even = numbers.filter(n => n % 2 === 0); // [2, 4] const sum = numbers.reduce((acc, cur) => acc + cur, 0); // 15
型付き配列(TypeScript)
TypeScriptでは配列の型を定義できます。
const names: string[] = ["Taro", "Hanako"];
またはジェネリクス形式:
const scores: Array<number> = [80, 90, 100];
よくある誤解と注意点
-
は配列に対して使うと予期せぬ結果になる(オブジェクト用)for...in
-
は最後のインデックス+1とは限らない(スパース配列に注意)length
-
配列のコピーは参照渡しになるため
やスプレッドで明示的に行うべきslice()
const copy = [...original]; // 深いコピーではないことにも注意
まとめ
配列はプログラミングの基礎中の基礎でありながら、非常に多用途で強力なツールです。配列の操作に慣れることで、データの取り扱いやロジックの表現が格段に効率的になります。基本的な構造と操作に加え、関数型的なメソッドや型の活用も身につけて、柔軟で堅牢なコードを書けるようにしましょう。