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

जावास्क्रिप्ट में सरणियों पर डिलीट ऑपरेटर का अजीब व्यवहार

<घंटा/>

जावास्क्रिप्ट में डिलीट ऑपरेटर वास्तव में एक ऑब्जेक्ट ऑपरेटर है (ऑब्जेक्ट्स के साथ प्रयोग किया जाता है)।

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

शाब्दिक के निम्नलिखित सरणी पर विचार करें -

const arr = ['a', 'b', 'c', 'd', 'e'];

उदाहरण

आइए अब निम्नलिखित प्रोग्राम को निष्पादित करें और अपेक्षित आउटपुट का अनुमान लगाएं -

const arr = ['a', 'b', 'c', 'd', 'e'];
delete arr[4];
console.log(arr);
console.log(arr.length);

आउटपुट

कंसोल में इस प्रोग्राम का आउटपुट होगा -

[ 'a', 'b', 'c', 'd', <1 empty item> ]
5

आउटपुट को समझना -

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

यह सरणी की लंबाई में कोई बदलाव नहीं करता है और हम अभी भी सरणी में 5 तत्व देखते हैं, केवल एक स्मृति स्थान खाली है।


  1. जावास्क्रिप्ट में सरणियों के लिए स्प्रेड ऑपरेटर

    स्प्रेड (...) सिंटैक्स हमें उन जगहों पर एक चलने योग्य सरणी का विस्तार करने की अनुमति देता है जहां 0+ तर्क अपेक्षित हैं। यह हमें कार्य करने के लिए एक सरणी के रूप में कई मापदंडों को पारित करने की अनुमति देता है। जावास्क्रिप्ट में सरणियों के लिए स्प्रेड ऑपरेटर को लागू करने के लिए कोड निम्नलिखित है - उ

  1. सरणियों की सरणी में आंशिक योग जावास्क्रिप्ट

    हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो संख्याओं की सरणी की एक सरणी लेता है। प्रत्येक सबएरे के लिए, फ़ंक्शन आंशिक योग सबरे बनाता है (एक सरणी जिसमें एक विशेष मान स्वयं और पिछले मान का योग होता है)। उदाहरण के लिए - यदि इनपुट ऐरे है - const arr = [ [1, 1, 1, -1], [1, -1, -1], [1, 1] ]; तब आ

  1. जावास्क्रिप्ट में सरणियों की सरणी को किसी वस्तु में परिवर्तित करना

    मान लीजिए कि हमारे पास सरणियों की एक सरणी है जिसमें इस तरह के क्रिकेट खिलाड़ी का प्रदर्शन शामिल है - const arr = [    ['Name', 'V Kohli'],    ['Matches', 13],    ['Runs', 590],    ['Highest', 183],    ['NO&