মান लीজিয়ে, আমাদের একটি অ্যারে মেথড লিখতে হবে যা ডিফল্ট Array.prototype.slice() কে ওভাররাইড করবে। সাধারণত Array.prototype.slice() মেথড দুটি আর্গুমেন্ট নেয় - শুরুয়ের ইনডেক্স এবং শেষের ইনডেক্স, এবং মূল অ্যারে থেকে শুরুয়ের ইনডেক্স থেকে শেষের ইনডেক্স মাইনাস ১ পর্যন্ত সাবঅ্যারে রিটার্ন করে।
আমরা চাই এই slice() ফাংশনটি এমনভাবে কাজ করবে যাতে এটি শুরুয়ের ইনডেক্স থেকে শেষের ইনডেক্স পর্যন্ত (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 ]