slice() এটা মুল এরে-কে পরিবর্তন না করে একটি নতুন করে তৈরি করে. আমরা কোন একটি এরে-কে তার শুরু ও শেষ উল্লেখ করে দেই তখন ঐ ওই অংশ কে কপি করে নতুন এরে তৈরি করে এটাই হচ্ছে Slice এর কাজ ।
কিন্তু কোন মান উল্লেখ্য না করলে সেখানে ডিফল্ট ভেলু হিসেবে সব গুলোকে কপি করে ফে
slice()
slice(start)
slice(start, end)
console.log(ArrayName.slice(StartNumbe,EndNumber));
উদাহারন ১
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
const animals = ['ant', 'bison', 'camel', 'duck', 'elephant']; console.log(animals.slice(2)); // Answer 1 : [ 'camel', 'duck', 'elephant' ] console.log(animals.slice(2, 4)); // Answer 2 : [ 'camel', 'duck' ] console.log(animals.slice(1, 5)); // Answer 3 : [ 'bison', 'camel', 'duck', 'elephant' ] console.log(animals.slice(-4, -2)); // Answer 4 : [ 'bison', 'camel' ] console.log(animals.slice()); // Answer 5 : ['ant', 'bison', 'camel', 'duck', 'elephant']; ***here all same like main Array |
Answer 1 এ এখানে start উল্লেখ করা হয়েছে দুই কিন্তু end উল্লেখ করা হয় নি তাই মূল Array এর 2 থেকে বাকি সব গুলো কে কপি করে নতুন Array তৈরি করে ফেলেছে
Answer 2 এ এখানে start ও end উভয় কে উল্লেখ করা হয়েছে তাই মূল Array এর ২ থেকে ৪ এর সব গুলো কে কপি করে নতুন Array তৈরি করে ফেলেছে
Answer 3 এ এখানে start ও end উভয় কে উল্লেখ করা হয়েছে তাই মূল Array এর ১ থেকে ৫ এর সব গুলো কে কপি করে নতুন Array তৈরি করে ফেলেছে
Answer 4 এ এখানে start ও end উভয় কে উল্লেখ করা হয়েছে। কিন্তু নেগেটিভ বা ডান দিক থেকে কপি করার জন্যে বলা হয়েছে । ডান দিক থেকে তাই মূল Array এর ডান দিক থেকে ৪ নাম্বার শুরু থেকে ডান দিক থেকে ২ নাম্বার শেষ হবে আর সে অনুযায়ী কপি করে নতুন Array তৈরি করে ফেলেছে ।
Answer 5 এ এখানে start ও end কিছু উল্লেখ্য না করে slice() করা হয়েছে , তাই সে সব গুলো কে কপি করে ফেলেছে মুল এরের মত করেই ।
কেননা নেগেটিভ এর ক্ষেত্রই হোক বা পজিটিভ এর ক্ষেত্রই হোক Array কপি বা কাজ গুলো সবসময় বাম থেকে ডানে দিকে করে তাই সংখ্যাটা এম্ন হতে হবে যে শুরু টা বামে আর শেষেরটা ডানে থাকে নেগেটিভ বাবে উল্লেখ্য করার পরেও ।
উদাহারন ২
1 2 3 4 5 6 7 8 9 10 11 12 |
const numb = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; console.log(numb.slice()); // Answer 1 :[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; console.log(numb.slice(1, 5)); // Answer 2 :[ 2, 3, 4, 5 ] console.log(numb.slice(-9, -2)); //Answer 3 : [ 8, 9, 10, 11, 12, 13, 14 ] |
এখানেও আগের মতই করা হয়েছে