JavaScript में ऐरे एक सूची जैसी संरचना होता है जिसकी लंबाई तय नहीं होती। इसमें किसी भी तरह के प्रिमिटिव या ऑब्जेक्ट रखे जा सकते हैं, मिली-जुली किस्में भी।
ऐरे बनाने के लिए चौकोर ब्रैकेट [] के बीच एलिमेंट जोड़िए।
ऐरे से पढ़ने के लिए आइडेंटिफायर के बाद चौकोर ब्रैकेट [] में इंडेक्स लिखिए।
ऐरे के इंडेक्स शून्य से शुरू होते हैं।
उदाहरण के लिए:
const numbers = [1, 'two', 3, 'four'];
numbers[2];
// => 3
ऐरे में कितने एलिमेंट हैं, यह पता करने के लिए length प्रॉपर्टी इस्तेमाल कीजिए:
const numbers = [1, 'two', 3, 'four'];
numbers.length;
// => 4
ऐरे के किसी एलिमेंट को बदलने के लिए आप उस इंडेक्स पर एक वैल्यू असाइन करते हैं:
const numbers = [1, 'two', 3, 'four'];
numbers[0] = 'one';
numbers;
// => ['one', 'two', 3, 'four']
हर ऐरे ऑब्जेक्ट पर उपलब्ध कुछ मेथड ऐरे में जोड़ने या हटाने के लिए इस्तेमाल किए जा सकते हैं। इस अभ्यास पर काम करते समय इनमें से कुछ पर ध्यान दीजिए:
.push(value) इस्तेमाल करके ऐरे के अंत में एक value जोड़ी जा सकती है।
यह मेथड ऐरे की नई लंबाई लौटाता है।
const numbers = [1, 'two', 3, 'four'];
numbers.push(5); // => 5
numbers;
// => [1, 'two', 3, 'four', 5]
.pop() इस्तेमाल करके ऐरे से अंतिम value हटाई जा सकती है।
यह मेथड हटाई गई वैल्यू लौटाता है।
इस बदलाव से ऐरे की लंबाई घट जाती है।
const numbers = [1, 'two', 3, 'four'];
numbers.pop(); // => four
numbers;
// => [1, 'two', 3]
.shift() इस्तेमाल करके ऐरे से पहली value हटाई जा सकती है।
यह मेथड हटाई गई वैल्यू लौटाता है।
इस बदलाव से ऐरे की लंबाई घट जाती है।
const numbers = [1, 'two', 3, 'four'];
numbers.shift(); // => 1
numbers;
// => ['two', 3, 'four']
.unshift(value) इस्तेमाल करके ऐरे के शुरू में एक value जोड़ी जा सकती है।
यह मेथड ऐरे की नई लंबाई लौटाता है।
const numbers = [1, 'two', 3, 'four'];
numbers.unshift('one'); // => 5
numbers;
// => ['one', 1, 'two', 3, 'four']
.splice(index, 1) इस्तेमाल करके ऐरे से किसी खास index पर मौजूद value हटाई जा सकती है।
यह मेथड हटाए गए एलिमेंट लौटाता है।
const numbers = [1, 'two', 3, 'four'];
numbers.splice(2, 1, 'one'); // => [3]
numbers;
// => [1, 'two', 'one', 'four']
ये मेथड यहाँ बताए गए तरीकों से ज़्यादा काम के हैं:
push और unshift दोनों में आप एक साथ कई वैल्यू जोड़ सकते हैं, इसके लिए बस और आर्गुमेंट देने होते हैं।
इस अभ्यास को पूरा करने के लिए यह ज़रूरी नहीं है।deleteCount के बाद कई वैल्यू को आर्गुमेंट के रूप में जोड़कर वैल्यू जोड़ भी सकता है।
इसका इस्तेमाल वैल्यू बदलने के लिए, या ऐरे के बीच में वैल्यू डालने के लिए किया जा सकता है (जैसे 0 एलिमेंट हटाकर)।
इस अभ्यास को पूरा करने के लिए यह ज़रूरी नहीं है।जादूगर बनने की राह पर चल रही एलिस को कुछ बुनियादी बातों का अभ्यास करना है। उसके पास कार्डों का एक ढेर है, जिसके साथ वह कुछ करना चाहती है।
चीज़ें थोड़ी आसान बनाने के लिए वह सिर्फ 1 से 10 तक के कार्ड इस्तेमाल करती है, इसलिए उसके कार्डों के ढेर को संख्याओं के ऐरे से दर्शाया जा सकता है। किसी कार्ड की जगह ऐरे के इंडेक्स से मेल खाती है। यानी जगह 0 पहले कार्ड को दर्शाती है, जगह 1 दूसरे कार्ड को, और इसी तरह आगे भी।
दो फंक्शन के अलावा बाकी सभी फंक्शन को कार्डों के ऐरे अपडेट करने चाहिए और फिर बदला हुआ ऐरे लौटाना चाहिए। काम करने का यह आम तरीका बिल्डर पैटर्न कहलाता है, जिससे आप कई फंक्शन को अच्छे से एक के बाद एक जोड़ सकते हैं।
दो अपवाद हैं: getItem, जिसे दी गई जगह वाला कार्ड लौटाना चाहिए, और checkSizeOfStack, जिसे true लौटाना चाहिए जब दिया गया आकार मेल खाता हो।
एक कार्ड उठाने के लिए दिए गए ढेर से इंडेक्स position पर मौजूद कार्ड लौटाइए।
const position = 2;
getItem([1, 2, 4, 1], position);
// => 4
हाथ की सफाई दिखाइए और इंडेक्स position पर मौजूद कार्ड को दिए गए नए कार्ड से बदल दीजिए।
बदला हुआ ढेर लौटाइए।
const position = 2;
const replacementCard = 6;
setItem([1, 2, 4, 1], position, replacementCard);
// => [1, 2, 6, 1]
ढेर के ऊपर एक नया कार्ड डालकर एक कार्ड प्रकट कीजिए। बदला हुआ ढेर लौटाइए।
const newCard = 8;
insertItemAtTop([5, 9, 7, 1], newCard);
// => [5, 9, 7, 1, 8]
ढेर से दी गई position पर मौजूद कार्ड हटाकर एक कार्ड गायब कीजिए।
बदला हुआ ढेर लौटाइए।
const position = 2;
removeItem([3, 2, 6, 4, 8], position);
// => [3, 2, 4, 8]
ढेर के ऊपर वाला कार्ड हटाकर एक कार्ड गायब कीजिए। बदला हुआ ढेर लौटाइए।
removeItemFromTop([3, 2, 6, 4, 8]);
// => [3, 2, 6, 4]
ढेर के नीचे एक नया कार्ड डालकर एक कार्ड प्रकट कीजिए। बदला हुआ ढेर लौटाइए।
const newCard = 8;
insertItemAtBottom([5, 9, 7, 1], newCard);
// => [8, 5, 9, 7, 1]
ढेर के नीचे वाला कार्ड हटाकर एक कार्ड गायब कीजिए। बदला हुआ ढेर लौटाइए।
removeItemAtBottom([8, 5, 9, 7, 1]);
// => [5, 9, 7, 1]
जाँचिए कि ढेर का आकार stackSize के बराबर है या नहीं।
const stackSize = 4;
checkSizeOfStack([3, 2, 6, 4, 8], stackSize);
// => false
Exercism पर साइन अप कीजिए और JavaScript को 37 कॉन्सेप्ट159 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।