Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

जावास्क्रिप्ट सेट:शुरुआती के लिए एक गाइड

जावास्क्रिप्ट में सेट का उपयोग कैसे करें

क्या आपके पास डेटा की एक सूची है जिसमें केवल अद्वितीय मान होने चाहिए? यह वह जगह है जहां जावास्क्रिप्ट सेट डेटा प्रकार वास्तव में चमकता है। यह एक नए प्रकार की वस्तु है जो आपको अद्वितीय मूल्यों का संग्रह बनाने की अनुमति देती है; एक सेट के भीतर किसी भी डुप्लिकेट की अनुमति नहीं है।

इस गाइड में, हम इस बारे में बात करने जा रहे हैं कि सेट क्या हैं, वे कैसे काम करते हैं और कब उपयोगी हो सकते हैं। हम जावास्क्रिप्ट में उपलब्ध प्रत्येक सेट विधियों के कुछ उदाहरणों के माध्यम से चलेंगे।

सेट क्या है?

एक सेट मानों का एक सेट है जिसमें डुप्लीकेट नहीं हो सकते हैं। यह डेटा प्रकार ईसीएमएस्क्रिप्ट 6 में पेश किया गया था। विशेष रूप से, सेट कई अन्य प्रोग्रामिंग भाषाओं की एक विशेषता है।

सूचियाँ उपयोगी होती हैं क्योंकि वे आपको अनेक मानों को संग्रहीत करने की अनुमति देती हैं। सूचियाँ डुप्लिकेट मानों को संग्रहीत करने का समर्थन करती हैं, जो असंख्य परिदृश्यों में उपयोगी हो सकती हैं।

उदाहरण के लिए, यदि आप किसी कॉफ़ी शॉप में किए गए आदेशों की सूची संग्रहीत कर रहे हैं, तो आपको डुप्लिकेट मानों को संग्रहीत करने में सक्षम होने की आवश्यकता होगी। दो ग्राहक एक ही पेय का ऑर्डर कर सकते हैं।

ऐसे कुछ उदाहरण हैं जहां आप किसी सूची में केवल अनन्य मानों को संग्रहीत करना चाहेंगे। यहीं पर आप सेट ऑब्जेक्ट का उपयोग करना चाहेंगे। सेट में मान केवल एक बार दिखाई दे सकते हैं।

जावास्क्रिप्ट में, किसी अन्य ऑब्जेक्ट की तरह एक सेट घोषित किया जाता है। आइए एक सेट बनाएं जो ग्राहकों द्वारा रिपोर्ट किए गए पसंदीदा केक की एक सूची स्थानीय चाय के कमरे में संग्रहीत करता है:

let cakes = new Set();
console.log(cakes)

हमारा कोड लौटाता है:Set [] . हमने अभी एक सेट बनाया है। फिलहाल इसका कोई मूल्य नहीं है, जैसा कि आप हमारे कोड के आउटपुट से देख सकते हैं; हम उन्हें आगे जोड़ देंगे।

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

डिफ़ॉल्ट मानों के साथ एक सेट प्रारंभ करें

सेट को सरणी, स्ट्रिंग, या किसी अन्य पुनरावर्तनीय से प्रारंभ किया जा सकता है। यह उपयोगी है क्योंकि इसका मतलब है कि आपको अपने सेट में मैन्युअल रूप से मान जोड़ने की आवश्यकता नहीं है; आप मौजूदा लोगों से काम कर सकते हैं।

निम्नलिखित सूची पर विचार करें:

let cake_list = ["Lemon Cake", "Carrot Cake", "Strawberry Cheesecake"];

ये मान वर्तमान में एक सरणी में संग्रहीत हैं। उन्हें एक सेट में बदलने के लिए, जब हम एक नया सेट ऑब्जेक्ट बनाते हैं, तो हम अपना ऐरे पास कर सकते हैं:

let cakes = new Set(cake_list);
console.log(cakes)

हमारा कोड लौटाता है:

Set(3) ["Lemon Cake", "Carrot Cake", "Strawberry Cheesecake"]

सेट में मान जोड़ना

सेट ऑब्जेक्ट add() . नामक एक विधि के साथ आता है जिससे सेट में आइटम जोड़ना आसान हो जाता है। किसी आइटम को सेट में जोड़ने के लिए उपयोग की जाने वाली विधि का नाम याद रखना और भी आसान है:add() .

मान लीजिए कि हम स्थानीय बेकरी में बेचे जा रहे केक की सूची में "बोस्टन क्रीम पाई" जोड़ना चाहते हैं। आइए add() . का उपयोग करें इस मान को जोड़ने की विधि:

cakes.add("Boston Cream Pie");
console.log(cakes);

हमारा कोड लौटाता है:

Set(4) ["Lemon Cake", "Carrot Cake", "Strawberry Cheesecake", "Boston Cream Pie"]

हमारे सेट में अब चार ऑब्जेक्ट हैं। यदि आप कोई आइटम जोड़ने का प्रयास करते हैं जो पहले से सेट में है, तो वह आइटम नहीं जोड़ा जाएगा। सेट डुप्लिकेट मान संग्रहीत नहीं कर सकते हैं।

यह जांचा जा रहा है कि कोई मान किसी सेट में मौजूद है या नहीं

हमें यह जांचना होगा कि "बोस्टन क्रीम पाई" हमारे केक की सूची में है या नहीं। यह केक की सूची में एक नया जोड़ा था और बेकर दोबारा जांचना चाहता है कि हमने इसे जोड़ा है।

यहीं पर has() विधि आती है। has() विधि आपको यह देखने की अनुमति देती है कि क्या कोई सेट है एक विशेष मूल्य। फिर से, विधि का एक नाम है जिसे याद रखना आसान है!

निम्नलिखित कोड पर विचार करें:

var has_boston_cream_pie = cakes.has("Boston Cream Pie");
console.log(has_boston_cream_pie);

हमारा कोड लौटाता है:true . has() विधि एक बूलियन मान देता है - या तो सही या गलत - इस पर निर्भर करता है कि किसी सेट में कोई विशेष मान है या नहीं। यह विधि includes() . के समान है कि आप एक सरणी पर उपयोग करेंगे लेकिन has() केवल सेट के साथ काम करता है।

किसी सेट से मान निकालना

बेकर ने फैसला किया है कि अब बेकरी में स्ट्रॉबेरी चीज़केक नहीं परोसे जाएंगे। स्ट्रॉबेरी चीज़केक को अन्य केक की तुलना में बनाने में अधिक समय लगा और यह बहुत लोकप्रिय नहीं था।

आप उपयुक्त नाम वाले delete() . का उपयोग करके किसी सेट से कोई मान निकाल सकते हैं तरीका। आइए हमारे सेट से "स्ट्रॉबेरी चीज़केक" मान हटा दें:

cakes.delete("Strawberry Cheesecake");
console.log(cakes);

हमारा कोड लौटाता है:

Set(3) ["Lemon Cake", "Carrot Cake", "Boston Cream Pie"]

स्ट्राबेरी चीज़केक को हमारे सेट से हटा दिया गया था।

आप clear() . का उपयोग करके सेट से सभी मानों को हटा सकते हैं विधि।

एक सेट पर पुनरावृति करें

सेट, सूचियों की तरह, चलने योग्य वस्तुएं हैं। आप जानते हैं कि इसका क्या अर्थ है:आप उन पर पुनरावृति कर सकते हैं।

हम अपने केक सेट पर पुनरावृति करने के लिए प्रत्येक लूप के लिए उपयोग करने जा रहे हैं। हमारा प्रत्येक के लिए लूप हमारी सूची में प्रत्येक आइटम के माध्यम से जाएगा - सूची में प्रत्येक आइटम के लिए - और इसे कंसोल पर प्रिंट करें:

cakes.forEach(cake => {
	console.log(cake);
}

हमारा कोड एक पुनरावर्तक देता है जो हमारे सेट में प्रत्येक मान को कंसोल पर प्रिंट करता है:

Lemon Cake
Carrot Cake
Boston Cream Pie

यह इत्ना आसान है! आप फॉर-ऑफ़ लूप का भी उपयोग कर सकते हैं:

for (let cake of cakes) {
	console.log(cake);
}

यह कोड हमारे forEach . के समान आउटपुट देता है लूप:

Lemon Cake
Carrot Cake
Boston Cream Pie

आप एक सेट के माध्यम से पुनरावृति करने के लिए लूप के लिए उपयोग करने का विकल्प चुन सकते हैं, लेकिन चूंकि सेट पुनरावृत्त ऑब्जेक्ट हैं, इसलिए प्रत्येक के लिए या लूप के लिए उपयोग करना आसान है।

सेट का उपयोग करके डुप्लिकेट मान निकालना

जब आप किसी सरणी के साथ सेट को प्रारंभ करते हैं, तो सभी डुप्लिकेट मान स्वचालित रूप से हटा दिए जाएंगे। यह एक अविश्वसनीय रूप से उपयोगी विशेषता है।

मान लें कि हमारे पास एक सूची है जिसमें कई केक ऑर्डर हैं:

var cakes = ["Lemon Cake", "Carrot Cake", "Strawberry Cheesecake", "Lemon Cake", "Chocolate Cake", "Chocolate Fudge Cake", "Chocolate Cake", "Red Velvet Cake"];

इस सेट में बेकरी के लिए किए गए सभी केक ऑर्डर शामिल हैं। कुल मिलाकर, आठ मान हैं; दो मान डुप्लिकेट हैं।

मान लीजिए कि बेकर जानना चाहता है कि विभिन्न प्रकार के केक का ऑर्डर दिया गया है, तो वह अपनी रसोई तैयार करना शुरू कर सकती है। हम अपने सेट को एक सूची में परिवर्तित करके इसका पता लगा सकते हैं:

var unique_cakes = new Set(cakes);
console.log(unique_cakes);

हमारा कोड लौटाता है:

Set(6) [ "Lemon Cake", "Carrot Cake", "Strawberry Cheesecake", "Chocolate Cake", "Chocolate Fudge Cake", "Red Velvet Cake" ]

हमारी सूची को छह मूल्यों तक सीमित कर दिया गया है। ये हमारे ऑर्डर की सूची से सभी अद्वितीय मूल्य हैं। एक कदम बाकी है।

हमें अपने केक के सेट को वापस एक सूची में बदलना होगा ताकि हम मानक सूची विधियों का उपयोग करके इसके साथ बातचीत कर सकें। हम Array.from() . का उपयोग करके ऐसा कर सकते हैं विधि:

let final_cakes = Array.from(unique_cakes);
console.log(final_cakes);

हमारा कोड लौटाता है:

[ "Lemon Cake", "Carrot Cake", "Strawberry Cheesecake", "Chocolate Cake", "Chocolate Fudge Cake", "Red Velvet Cake" ]

जबकि इस कोड का आउटपुट हमारे सेट के समान है, एक बड़ा अंतर है:हमारा डेटा अब एक सरणी के रूप में संग्रहीत है। इसका मतलब है कि हम सभी अंतर्निहित जावास्क्रिप्ट सरणी विधियों का उपयोग करके इसके साथ बातचीत कर सकते हैं।

निष्कर्ष

सेट ऑब्जेक्ट आपको उन आइटमों की सूची संग्रहीत करने की अनुमति देता है जिनमें केवल अनन्य मान हो सकते हैं। सेट को मौजूदा चलने योग्य ऑब्जेक्ट, जैसे सूची या स्ट्रिंग से प्रारंभ किया जा सकता है।

चूंकि सेट ऑब्जेक्ट डुप्लिकेट मानों को हटा देता है, आप इसे किसी सरणी से किसी भी डुप्लिकेट को निकालने के तरीके के रूप में उपयोग कर सकते हैं। फिर, एक बार काम पूरा करने के बाद, आप अपने सेट को वापस एक सरणी में बदल सकते हैं।

अब आप एक पेशेवर की तरह JavaScript में सेट का उपयोग शुरू करने के लिए तैयार हैं!


  1. जावास्क्रिप्ट सरणी। मान ()

    JavaScript array.values() एक इटरेटर ऑब्जेक्ट लौटाता है जिसमें किसी दिए गए सरणी के सभी मान होते हैं। array.values() फ़ंक्शन के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport"

  1. जावास्क्रिप्ट ऑब्जेक्ट मानों को गतिशील रूप से कैसे सेट करें?

    जावास्क्रिप्ट ऑब्जेक्ट मानों को गतिशील रूप से सेट करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <

  1. जावास्क्रिप्ट पावर सेट में एक सेट के लिए पावर सेट ढूँढना

    समुच्चय S का घात समुच्चय S के सभी उपसमुच्चयों का समुच्चय है, जिसमें खाली समुच्चय और स्वयं S भी शामिल है। सेट S के पावर सेट को P(S) के रूप में दर्शाया जाता है। उदाहरण के लिए यदि S ={x, y, z}, उपसमुच्चय हैं - {    {},    {x},    {y},    {z},    {x,