Topiqlo ロゴ

配列

公開日: 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
    : 条件に合う要素だけを抽出

  • reduce
    : 要素を畳み込んで1つの値にまとめる

    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
    は配列に対して使うと予期せぬ結果になる(オブジェクト用)

  • length
    は最後のインデックス+1とは限らない(スパース配列に注意)

  • 配列のコピーは参照渡しになるため

    slice()
    やスプレッドで明示的に行うべき

    const copy = [...original]; // 深いコピーではないことにも注意

まとめ

配列はプログラミングの基礎中の基礎でありながら、非常に多用途で強力なツールです。配列の操作に慣れることで、データの取り扱いやロジックの表現が格段に効率的になります。基本的な構造と操作に加え、関数型的なメソッドや型の活用も身につけて、柔軟で堅牢なコードを書けるようにしましょう。