जावास्क्रिप्ट स्लाइस () विधि मूल डेटा को परिवर्तित या परिवर्तित नहीं करेगी। यह ट्यूटोरियल आपको सिखाएगा कि जावास्क्रिप्ट स्लाइस तकनीक का उपयोग कैसे करें और इसकी अपरिवर्तनीय क्षमता का उपयोग कैसे करें।
सीधे शब्दों में कहें, जावास्क्रिप्ट स्लाइस फ़ंक्शन एक अंतर्निहित सरणी या स्ट्रिंग विधि है जो सरणी के एक हिस्से की उथली प्रतिलिपि को एक नई सरणी वस्तु में लौटाती है, जहां 'प्रारंभ' और 'अंत' सरणी के सूचकांक हैं। प्रारंभिक सरणी में कोई संशोधन नहीं होगा।
const language = ["javascript", "java", "ruby", "rust", "python"]; console.log(language.slice(2)); // ['ruby', 'rust', 'python']
हम शून्य-अनुक्रमित आधार का उपयोग करके इंडेक्स 2 पर स्लाइस करते हैं, जो कटा हुआ तत्व युक्त एक नई नई सरणी उत्पन्न करता है। लेकिन क्या होगा अगर हम मूल सरणी (भाषा) की जांच करें? क्या इसे बदला जाएगा? जावास्क्रिप्ट स्लाइस तकनीक, जावास्क्रिप्ट स्प्लिस फ़ंक्शन के विपरीत, मूल डेटा को परिवर्तित या प्रभावित नहीं करती है।
जावास्क्रिप्ट स्लाइस विधि का उपयोग करना अपेक्षाकृत सरल है; हालाँकि इसे पूरी तरह से समझने के लिए, हम इसके वाक्य-विन्यास पर ज़ोर देंगे।
इसके लिए सिंटैक्स क्या है? यह सिंटैक्स केवल 'स्लाइस' शब्द को एक कोष्ठक '()' के साथ निम्नानुसार लिखा गया है:
slice()
क्योंकि यह एक विधि है, यह तर्कों को स्वीकार करता है, जो आपको स्लाइस फ़ंक्शन का उपयोग करके सरणी के साथ क्या कर सकता है, इस पर अधिक लचीलापन देता है।
वे इस प्रकार हैं:
प्रारंभ पैरामीटर, जो केवल उस इंडेक्स को इंगित करता है जिस पर स्लाइस विधि शुरू होनी चाहिए, को स्लाइस फ़ंक्शन में पास किया जा सकता है। पिछले उदाहरण से समीक्षा करने के लिए, स्लाइस विधि 2 को इनपुट के रूप में स्वीकार करती है, जिसका अर्थ केवल इंडेक्स 2 से शुरू होता है। यदि प्रारंभ तर्क निर्दिष्ट नहीं है, तो इंडेक्स को 0 पर सेट किया जाएगा। अंत तर्क को स्लाइस पर भी भेजा जा सकता है। विधि, लेकिन यह ठीक से काम करने के लिए प्रारंभ पैरामीटर पर निर्भर है। अंत तर्क सरणी को निर्देश देता है कि किस सूचकांक पर तत्व को निकालना समाप्त करना चाहिए। यह अंत को शामिल करके नहीं, बल्कि केवल अंत तक करता है। यदि अंत तर्क निर्दिष्ट नहीं है, तो सरणी की पूरी लंबाई वापस आ जाती है।
slice(start) slice(start,end)
स्लाइस विधि का उपयोग करना: मान लीजिए कि हमारे पास एक सरणी है जिसमें कई प्रकार की प्रोग्रामिंग भाषाएँ हैं और हम सरणी से तीन तत्वों को चुनना चाहते हैं। हम बस स्लाइस (1,4) फ़ंक्शन लिखते हैं, दो इंडेक्स-आधारित पैरामीटर, प्रारंभ और अंत प्रदान करते हैं। निष्कर्षण निर्दिष्ट सूचकांक, 1 से शुरू होगा, और 4 के साथ समाप्त होगा, लेकिन सटीक चौथे तत्व को वापस करने के बजाय, यह तत्व को चौथे तत्व से पहले प्रदान करेगा।
यहां बताया गया है कि यह कैसे किया जाता है:
const language = ["javascript", "java", "ruby", "rust", "python"]; console.log(language.slice(1,4)); // ['ruby', 'rust', 'python']
मौजूदा सरणी को संशोधित किए बिना नई सरणी लौटा दी गई थी।
const language = ["javascript", "java", "ruby", "rust", "python"]; console.log(language.slice(1,4)); // ['java', 'ruby', 'rust'] console.log(language); // ['javascript', 'java', 'ruby', 'rust', 'python']
जावास्क्रिप्ट सरणी का उपयोग निम्नलिखित क्षेत्रों में किया जा सकता है; हालाँकि, यह ध्यान दिया जाना चाहिए कि स्लाइस विधि का उपयोग गैर-सरणियों पर भी किया जा सकता है।
वस्तुओं पर जावास्क्रिप्ट स्लाइस विधि का उपयोग करना।
विरल सरणी पर Javascript स्लाइस विधि का उपयोग करना।
गैर-सरणियों को सरणी में बदलने के लिए जावास्क्रिप्ट स्लाइस विधि का उपयोग करना।
जावास्क्रिप्ट स्लाइस विधि पहले वस्तु की संपत्ति की लंबाई पर विचार करके वस्तुओं पर काम करती है, फिर पूर्णांक-कुंजी गुणों को शुरू से अंत तक पढ़ती है। और उन्हें एक नई सरणी में डाल दें। यह कॉल () विधि का उपयोग करता है।
const arrayLike = { length: 3, 0: 2, 1: 3, 2: 4, }; console.log(Array.prototype.slice.call(arrayLike, 1, 3)); // [3, 4]
जब जावास्क्रिप्ट स्लाइस विधि का उपयोग विरल सरणी पर किया जाता है, तो स्रोत विरल होने पर slice()
से लौटाया गया सरणी विरल हो सकता है।
console.log([1, 2, , 4, 5].slice(1, 4)) // [2, empty, 4]
एक उपयोगिता फ़ंक्शन का निर्माण करने के लिए जो एक सरणी जैसी वस्तु को एक सरणी में बदल देता है, जावास्क्रिप्ट स्लाइस विधि के साथ-साथ call()
, और bind()
विधियों का उपयोग करें।
const sliceEl = Function.prototype.call.bind(Array.prototype.slice); function list() { return sliceEl(arguments); } const listed = list(1, 2, 3) console.log(listed) //[1, 2, 3]
जावास्क्रिप्ट में स्लाइस और ब्याह विधि के बीच क्या अंतर है?
स्लाइस का उपयोग मूल सरणी से एक नया सरणी बनाने के लिए किया जाता है, जबकि विभाजन का उपयोग मूल सरणी से तत्वों को जोड़ने/निकालने के लिए किया जाता है। एक स्लाइस के मामले में, परिवर्तन मूल सरणी में परिलक्षित नहीं होते हैं; हालाँकि, एक ब्याह के मामले में, परिवर्तन मूल सरणी में परिलक्षित होते हैं।
स्लाइस और ब्याह विधि में क्या समानता है?
उनके बीच प्रमुख समानता यह है कि वे दोनों जावास्क्रिप्ट सरणी के तरीके हैं।
मैं स्लाइस विधि का उपयोग कब करूं?
यदि आप किसी कार्य को निष्पादित करते समय मूल डेटा को संशोधित या उत्परिवर्तित नहीं करना चाहते हैं, तो स्लाइस दृष्टिकोण जाने का सबसे अच्छा तरीका है। यह ReactJs में एक सामान्य तरीका है।
अंत में, जावास्क्रिप्ट स्लाइस () विधि कॉपी करने का एक तरीका है। यह मूल सरणी को नहीं बदलता है बल्कि इसके बजाय मूल सरणी के समान कुछ वस्तुओं के साथ उथला डुप्लिकेट प्रदान करता है। वे दो वैकल्पिक पैरामीटर, 'प्रारंभ' और 'अंत' को स्वीकार करते हैं, और इन पैरामीटर के आधार पर सरणी से तत्वों को निकालते हैं। वे गैर-सरणियों पर लागू होते हैं। ऑब्जेक्ट्स, विरल-सरणी, और आगे।