# Set और Map — जावास्क्रिप्ट

Source: https://www.geekswithgeeks.com/hi/javascript/js-set-map

> array और ऑब्जेक्ट से आगे दो built-in कलेक्शन।

## Set: अद्वितीय मान

`Set` अपने-आप डुप्लिकेट हटा देता है और सदस्यता तेज़ी से जाँचता है।

```js
const tags = new Set(["js", "web", "js"]);
console.log(tags);              // Set(2) {'js', 'web'}
console.log(tags.has("web"));   // true
tags.add("css");
```

## Map: किसी भी टाइप की key

साधारण ऑब्जेक्ट के विपरीत, `Map` की keys किसी भी टाइप की हो सकती हैं, संख्या और ऑब्जेक्ट सहित।

```js
const scores = new Map();
scores.set("Ada", 92);
scores.set(1, "one");
console.log(scores.get("Ada"));  // 92
console.log(scores.size);        // 2
```

## Map बनाम साधारण ऑब्जेक्ट

ऑब्जेक्ट के विपरीत, `Map` की keys **किसी भी टाइप** की हो सकती हैं, insertion order हमेशा बना रहता है, और `.size` सीधे गिनती देता है — डायनामिक key-value डेटा के लिए बेहतर।

## Iteration

दोनों को सीधे `for...of` से चलाया जा सकता है: `for (const [key, val] of map)`।
