मान लीजिए, हमें एक एरे मेथड लिखना है जो डिफ़ॉल्ट Array.prototype.slice() को ओवरराइट करता है। आमतौर पर Array.prototype.slice() मेथड दो आर्गुमेंट लेता है - शुरुआती इंडेक्स और अंतिम इंडेक्स, और मूल एरे का एक सबएरे लौटाता है जो इंडेक्स start से end-1 तक होता है।
हम चाहते हैं कि यह slice() फ़ंक्शन ऐसा काम करे कि यह इंडेक्स start से end तक का सबएरे लौटाए, न कि end-1 तक। इसके लिए कोड नीचे दिखाया गया है। हम एक for लूप का उपयोग करके एरे पर पुनरावृति करते हैं जो वास्तव में हमारे पास मौजूद किसी भी एरे मेथड से तेज़ है। फिर आवश्यक सबएरे लौटाते हैं, और अंत में Array.prototype.slice() को हमारे द्वारा लिखे गए मेथड से ओवरराइट करते हैं -
उदाहरण
const arr = [5, 5, 34, 43, 43, 76, 78, 3, 23, 1, 65, 87, 9]; const slice = function(start = 0, end = this.length-1){ const part = []; for(let i = start; i <= end; i++){ part.push(this[i]); }; return part; }; Array.prototype.slice = slice; console.log(arr.slice(0, 4)); console.log(arr.slice(5, 8)); console.log(arr.slice());आउटपुट
कंसोल में आउटपुट होगा -
[ 5, 5, 34, 43, 43 ] [ 76, 78, 3, 23 ] [ 5, 5, 34, 43, 43, 76, 78, 3, 23, 1, 65, 87, 9 ]