0Pricing
JavaScript Academy · レッスン

MapとSetの基本

キーから値を検索するにはMap、一意な値を扱うにはSetを使います。反復、変換、簡単なパターンを練習します。

「MapとSetの基本」はCoddyKit上の無料JavaScript Academyレッスンです。 これはレッスン1/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJavaScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 JavaScript Academyコースには全3レッスンが含まれています。

なぜMapとSetなのか

目標:適切なコンテナを選びます。

  • Map:キーと値の組(キーには任意の型を使用可能)
  • Set:重複しない値
  • 反復処理と変換
  • 日常的に使える小さなパターン
MapとSetの基本 — イラスト1

Map:set/get/has

Mapにはset、get、has、delete、clearがあり、sizeプロパティも備わっています。

// Map: key→value with any key type
const userToScore = new Map();

// set values
userToScore.set("ayla", 10);
userToScore.set("mina", 15);

// read values
console.log("ayla:", userToScore.get("ayla"));
console.log("has lena?", userToScore.has("lena"));

// size
console.log("size:", userToScore.size);
MapとSetの基本 — イラスト2

Set:重複しない値

Setは各値を1つだけ保持し、重複した値は無視します。

// Set: unique values
const seen = new Set();

// add values (duplicates are ignored)
seen.add("red");
seen.add("blue");
seen.add("red"); // ignored

console.log("size:", seen.size);
console.log("has red?", seen.has("red"));

seen.delete("blue");
console.log("after delete:", seen.size);
MapとSetの基本 — イラスト3

ObjectよりMapを使う理由

Mapではオブジェクトの同一性をキーとして保持できます。通常のオブジェクトではキーが文字列に変換されます。

// Map can use objects as keys directly
const key1 = { id: 1 };
const key2 = { id: 1 }; // different reference

const map = new Map();
map.set(key1, "A");

console.log("get key1:", map.get(key1));
console.log("get key2:", map.get(key2)); // undefined (different object)

const obj = {};
obj[key1] = "B"; // coerces key to "[object Object]"
console.log("object key:", obj["[object Object]"]);
MapとSetの基本 — イラスト4

変換

Setから重複のない配列を作成できます。pairsからMapを作成し、entries()を使って元に戻すこともできます。

// Unique array values via Set
const nums = [2, 2, 3, 4, 3];
const unique = Array.from(new Set(nums));
console.log("unique:", unique);

// Map from pairs; back to pairs
const pairs = [["a", 1], ["b", 2]];
const m = new Map(pairs);
console.log("get a:", m.get("a"));
console.log("entries:", Array.from(m.entries()));
MapとSetの基本 — イラスト5

覚えておきたいパターン

小さなパターン:

  • カウントにはMapを使います(キー → 数値)。
  • メンバーシップの素早い確認にはSetを使います。
  • キーが文字列でない場合や、挿入順が必要な場合はMapを優先します。
MapとSetの基本 — イラスト6

Setの一意性クイズ

簡単な確認:一意性です。

MapとSetの基本 — イラスト7

まとめ

まとめ:キーと値の検索(キーの型は任意)にはMap、重複しない値にはSetを選びます。entries()/Array.fromを使って反復処理や変換を行えます。

MapとSetの基本 — イラスト8

よくある質問

「MapとSetの基本」レッスンは無料ですか?

はい。「MapとSetの基本」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、JavaScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 JavaScript Academyコースには全3レッスンが含まれています。

「MapとSetの基本」で何を学びますか?

キーから値を検索するにはMap、一意な値を扱うにはSetを使います。反復、変換、簡単なパターンを練習します。 ブラウザで直接実行するハンズオンコードでJavaScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

JavaScript Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJavaScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/3です。

「MapとSetの基本」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJavaScript Academyレッスンでコードを書いて実行できますか?

はい。すべてのJavaScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. MapとSetの基本
  2. WeakMapとWeakSet — シンプルなプライバシー保護とキャッシュ
  3. 反復処理のパターン
← JavaScript Academyに戻る