JavaScript | 第10章「インデックス付きコレクション」

javascrpit JavaScript
スポンサーリンク

JavaScript「インデックス付きコレクション」要点まとめ

基本の考え方

  • インデックス付き」= 番号(0, 1, 2, …)で要素を順番に管理するコレクション
  • JavaScript では主に次の3つが該当:
    1. Array(配列)
    2. TypedArray(型付き配列)
    3. 配列っぽいオブジェクト(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に変換メソッドを使えるようにするため
タイトルとURLをコピーしました