JavaScript「インデックス付きコレクション」要点まとめ
基本の考え方
- 「インデックス付き」= 番号(0, 1, 2, …)で要素を順番に管理するコレクション
- JavaScript では主に次の3つが該当:
- Array(配列)
- TypedArray(型付き配列)
- 配列っぽいオブジェクト(array-like objects)
Array(配列)
作り方
const arr = [10, 20, 30]; // 配列リテラル(よく使う)
const arr2 = new Array(3); // 長さ3の空配列
JavaScript
基本操作
arr[0] // 10(最初の要素)
arr.push(40) // 末尾に追加
arr.pop() // 末尾を削除
arr.length // 要素数を取得
JavaScript
主なメソッド
| 分類 | メソッド | 説明 |
|---|
| 追加・削除 | push, pop, shift, unshift, splice | 要素の追加・削除 |
| 検索 | indexOf, includes, find, findIndex | 要素の検索 |
| 変換 | map, filter, reduce, slice | 新しい配列を作る |
| 並び替え | sort, reverse | 配列の順番を変更 |
Sparse Array(疎な配列)
const arr = [];
arr[3] = "hello"; // [ <3 empty slots>, "hello" ]
JavaScript
- 一部のメソッド(
forEach, map など)は空スロットをスキップする場合がある → 注意!
配列っぽいオブジェクト(Array-like)
length プロパティと数値キーを持つオブジェクト
例:arguments, NodeList, HTMLCollection
- 配列メソッドは直接使えないことが多い
→ Array.from() や [...obj] で本物の配列に変換!
const divs = document.querySelectorAll("div");
const arr = Array.from(divs); // NodeList → Array
JavaScript
TypedArray(型付き配列)
- 数値専用の高速配列(メモリ効率重視)
- 例:
Int8Array, Uint16Array, Float32Array
- WebGL・音声処理・画像処理などで利用
const data = new Float32Array([0.5, 1.0, 1.5]);
JavaScript
まとめ:使い分けの目安
| 用途 | 使うもの | 理由 |
|---|
| 普通のデータを順に扱う | Array | シンプルで便利 |
| 数値を大量・高速に処理 | TypedArray | 高速・省メモリ |
| DOM要素・引数リストなど | 配列っぽいオブジェクト → Arrayに変換 | メソッドを使えるようにするため |