JavaScript का ऐरे डीस्ट्रक्चरिंग सिंटैक्स ऐरे से वैल्यू निकालने और उन्हें अलग-अलग वेरिएबलो में असाइन करने का एक संक्षिप्त तरीका है।
इस उदाहरण में numberOfMoons ऐरे की हर वैल्यू उससे जुड़े ग्रह को असाइन की जाती है:
const numberOfMoons = [0, 2, 14];
const [venus, mars, neptune] = numberOfMoons;
neptune;
// => 14
संक्षेप में:
JavaScript में ऑब्जेक्ट की प्रॉपर्टी निकालकर उन्हें अलग-अलग वेरिएबलो में असाइन करने के लिए भी डीस्ट्रक्चरिंग सिंटैक्स मौजूद है।
इस उदाहरण में weather ऑब्जेक्ट से मौसम के प्रतीक निकाले गए हैं:
const weather = {
sun: '☀️',
sun_behind_small_cloud: '🌤️',
sun_behind_cloud: '⛅',
sun_behind_large_cloud: '🌥️',
sun_behind_rain_cloud: '🌦️',
cloud: '☁️',
cloud_with_rain: '🌧️',
cloud_with_snow: '🌨️',
cloud_with_lightning: '🌩️',
cloud_with_lightning_and_rain: '⛈️',
};
const { sun, cloud, cloud_with_lightning: thunder } = weather;
sun;
// => '☀️'
cloud;
// => '☁️'
thunder;
// => '🌩️'
संक्षेप में:
जादूगर बनने की राह पर चल रही Elyse अपनी ट्रेनिंग जारी रखती है। उसके पास ताश की एक गड्डी है, और वह उसके साथ तरह-तरह के करतब करना चाहती है।
चीज़ों को आसान बनाने के लिए वह आम तौर पर सिर्फ 2 से 10 तक के कार्डों से शुरुआत करती है, हालाँकि कुछ करतबों में अतिरिक्त (फेस) कार्ड भी शामिल हो सकते हैं।
कार्डों को इधर-उधर करने के कई तरीके हैं, लेकिन जादू का भ्रम बनाए रखने के लिए यह ज़रूरी है कि किसी भी एक तरीके का इस्तेमाल न किया जाए, जैसे Elyse splice, slice, shift, unshift, push, at का इस्तेमाल नहीं करती।
ऐरे एक्सेसर array[index] और ऑब्जेक्ट एक्सेसर (object[key] और object.key) का भी कभी इस्तेमाल नहीं किया जाना चाहिए।
क्या आप Elyse के जादू को अगले स्तर पर ले जाने में मदद करना चाहते हैं?
हर फंक्शन को पैरामीटर और एक ऐसी फंक्शन बॉडी से बनाया जा सकता है जिसमें सिर्फ एक return expression हो।
Elyse array[index], .at(index) या .shift() का इस्तेमाल किए बिना गड्डी का पहला कार्ड बुलाएगी।
यह बिल्कुल जादू जैसा है।
const deck = [5, 9, 7, 1, 8];
getFirstCard(deck);
// => 5
Elyse हाथ की सफाई करती है और array[index] या .shift() का इस्तेमाल किए बिना गड्डी का दूसरा कार्ड बुलाती है।
const deck = [3, 2, 10, 6, 7];
getSecondCard(deck);
// => 2
Elyse गड्डी के दो कार्डों की जगह आपस में बदल देगी। उसे एक भी फंक्शन कॉल करने की ज़रूरत नहीं है।
const deck = [10, 7];
swapTwoCards(deck);
// => [7, 10]
थोड़ी और हाथ की सफाई दिखाने के लिए Elyse तीन कार्ड उठाती है और सबसे ऊपर का कार्ड तेज़ी से पीछे कर देती है। इससे बीच का कार्ड पहला कार्ड बन जाता है और पहले सबसे नीचे वाला कार्ड बीच का कार्ड बन जाता है। उसे एक भी फंक्शन कॉल करने की ज़रूरत नहीं है।
const deck = [2, 6, 10];
shiftThreeCardsAround(deck);
// => [6, 10, 2]
Elyse गड्डी को दो ढेरों में बाँट देगी।
फिर वह दर्शक से कहती है कि दोनों ढेरों में से एक चुन ले, जिसे हम chosen नाम देंगे।
disregarded ढेर अब काम का नहीं रहता, और वह उसे गायब कर देती है।
उसे एक भी फंक्शन कॉल करने की ज़रूरत नहीं है।
const deck = [5, 4, 7, 10];
const chosen = [5, 4];
const disregarded = [7, 10];
pickNamedPile({ chosen, disregarded });
// => [5, 4]
दुर्भाग्य से दर्शक बार-बार "गलत" ढेर चुनता रहता है, लेकिन थोड़े चतुर और तेज़ जादू से Elyse chosen ढेर का नाम बदलकर disregarded कर देती है और disregarded ढेर का नाम बदलकर chosen कर देती है।
उसे एक भी फंक्शन कॉल करने की ज़रूरत नहीं है।
const deck = [5, 4, 7, 10];
const chosen = [5, 4];
const disregarded = [7, 10];
swapNamedPile({ chosen, disregarded });
// => { chosen: [7, 10], disregarded: [5, 4] }
Exercism पर साइन अप कीजिए और JavaScript को 37 कॉन्सेप्ट159 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।