2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

📌 Set と Map の違いまとめ (JavaScript)  初心者なりにまとめてみた!

Posted at

ここ最近paizaの単語のカウント問題を解いていたけど、最終問題まで解けた!
段階的に解いていくうちに学んだSetMapについて改めてまとめたい!

JavaScriptSetMap はどちらもデータを格納するけど、用途や特性が異なる!
(いろいろ間違ってたらごめんなさい。(m´・ω・`)m ゴメン…ぜひご教示ください(^^ゞ)


✅ Set(集合)

💡 特徴

  • 値のみを格納(キーがない)
  • 重複を許さない(同じ値は 1 つだけ)
  • 要素の順序を保持(挿入順)
  • 配列のように扱えるが、重複を排除したい場合に適している


🛠 主な操作

スクリーンショット 2025-04-07 230554.png
※見にくかったら、画像をクリックしたら見やすくなるかも


🔹 使用例

const mySet = new Set();

// 値を追加
mySet.add("apple");
mySet.add("banana");
mySet.add("apple");  // 重複は無視される

console.log(mySet);  // Set(2) { 'apple', 'banana' }
console.log(mySet.has("apple"));  // true
console.log(mySet.size);  // 2

// 値を削除
mySet.delete("banana");

console.log(mySet);  // Set(1) { 'apple' }

// 全削除
mySet.clear();
console.log(mySet.size);  // 0


✅ Map(連想配列 / ハッシュマップ)

💡 特徴

  • キーと値のペア を格納できる
  • キーにあらゆるデータ型を使える(オブジェクトや関数もOK)
  • キーの順序を保持
  • Object の代わりに使えるが、Map はキーを安全に扱える


🛠 主な操作

スクリーンショット 2025-04-07 230604.png


🔹 使用例

const myMap = new Map();

// キーと値を追加
myMap.set("name", "Alice");
myMap.set(123, "Number Key");
myMap.set({ obj: true }, "Object Key");

console.log(myMap.get("name"));  // Alice
console.log(myMap.get(123));  // Number Key

// キーの存在をチェック
console.log(myMap.has("name"));  // true

// キーを削除
myMap.delete(123);

console.log(myMap.size);  // 2


✅ Set と Map の違いまとめ

スクリーンショット 2025-04-07 230157.png


✅ どちらを使うべきか?

スクリーンショット 2025-04-07 230207.png


✅ Set と Map を使った実践例

🔹 例1: 文字列の重複チェック(Set

const words = ["apple", "banana", "apple", "orange", "banana"];
const uniqueWords = new Set(words);
console.log([...uniqueWords]); // ['apple', 'banana', 'orange']

🔹 例2: 単語の出現回数カウント(Map

const words = ["apple", "banana", "apple", "orange", "banana"];
const wordCount = new Map();

words.forEach(word => {
    wordCount.set(word, (wordCount.get(word) || 0) + 1);
});

console.log(wordCount); 
// Map(3) { 'apple' => 2, 'banana' => 2, 'orange' => 1 }


✅ まとめ

Set は重複を排除し、値のコレクションを管理するのに最適
Map はキーと値のペアを管理するのに最適
✔ 順序を保持したい場合、どちらも for...of で順番通り取得可能

これで SetMap の違い がバッチリ理解できたね! 🎯




僕の失敗談と解決談🚀

2
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?