জাভাস্ক্রিপ্ট টিউটোরিয়াল-শিখুন গল্পে গল্পে সাথে 1100+ Exercise

  • জাভাস্ক্রিপ্ট পরিচিতি-Introduction to JavaScript
  • প্রোগ্রামিং শুরু করতে কতটুকু গণিত লাগে?
  • প্রোগ্রামিং শুরু করতে কতটুকু ইংরেজি জানা লাগে?
  • ভালো প্রোগ্রামার কিভাবে হবো? [+৭টি গুরুত্বপূর্ণ টিপস]
  • map কইরা দেন ভাই
  • every লিটনের some flat
  • Reduce করে একটা করে দাও (advanced)
  • চট করে Sort কর
  • উল্টাপথের reverse
  • নাইস নাইস slice splice

নাইস নাইস slice splice



তোর কাছে একটা পিজ্জা আছে, যার প্রতিটা স্লাইসকে তুই আলাদা আলাদাভাবে চিহ্নিত করতে পারিস। এখন তুই ঠিক করলি, মাঝের কয়েকটা স্লাইস আলাদা করে রাখবি। slice() ঠিক এই কাজটাই করে। এটা কোনো অ্যারের নির্দিষ্ট অংশকে কেটে আলাদা করে ফেলে, কিন্তু মূল অ্যারেকে বদলায় না।



স্লাইসের মধ্যে সাধারণত 2টা প্যারামিটার থাকে। প্রথম প্যারামিটার হচ্ছে, কোন ইনডেক্স থেকে কাটা শুরু করবে, আর কোন ইনডেক্সের আগ পর্যন্ত কাটতে চাস। 



নিচে একটা অ্যারে আছে— 



  const pizzaSlices = ['Bread', 'Cheese', 'Veggie', 'BBQ', 'Meet'];
  const selectedSlices = pizzaSlices.slice(1, 4);


  console.log(selectedSlices);
  console.log(pizzaSlices);
  
Output:
['Cheese', 'Veggie', 'BBQ']
['Bread', 'Cheese', 'Veggie', 'BBQ', 'Meet']



তবে দুইটা প্যারামিটার দিতেই হবে, এমন কোন কথা নাই। তুই চাইলে একটা প্যারামিটার দিতে পারস। তাহলে সেই ইনডেক্স থেকে একদম শেষ পর্যন্ত যত উপাদান আছে, সবগুলাকে দিয়ে দিবে। 



  const selectedSlices = pizzaSlices.slice(2); 
  console.log(selectedSlices);


Output: ['Veggie', 'BBQ', 'Meet'



আর যদি কোনো প্যারামিটার না দিস, তাহলে পুরো অ্যারেটাই কপি হয়ে যাবে।


  const fullPizza = pizzaSlices.slice();
  console.log(fullPizza); 



Splice: 

স্লাইস থেকে তুই উপাদান বের করতে পারবি, তবে সে অ্যারেকে চেইঞ্জ করে না। অন্যদিকে splice মূল অ্যারেকে বদলে ফেলে। প্লাস এইটা দিয়ে অ্যারে থেকে আইটেম মুছে ফেলতে বা রিমুভ করতে পারবি। এমনকি অ্যারের যেকোনো জায়গায় (এমনকি শুরু, শেষ বা মাঝখানে) নতুন উপাদান যোগ করতে পারবি। 



ধর, তোর কাছে একটা সিনেমার লিস্ট আছে। তুই ঠিক করলি, মাঝখান থেকে একটা সিনেমা বাদ দিবি, আর তার জায়গায় নতুন সিনেমা ঢোকাবি।

splice-এ সাধারণত 2টা প্যারামিটার দেয়। প্রথম প্যারামিটার দিয়ে বুঝায়, কোন ইনডেক্স থেকে শুরু করবে। আর সেকেন্ড প্যারামিটার দিয়ে বুঝায়, তুই কয়টা উপাদান ডিলিট করতে চাস।



প্লাস আরেকটা জিনিস মনে রাখবি, splice কিন্তু যে অ্যারের ওপরে এপ্লাই করবি, সে সেই অ্যারেকে চেইঞ্জ করে ফেলবে, আর যে যে উপাদান রিমুভ করবে, তাদেরকে রিটার্ন করবে।



নিচের অ্যারের মধ্যে আমরা splice করছি 2 ইনডেক্স থেকে, তারপর 3টা উপাদান রিমুভ করে ফেলছি। আবার পরের লাইনে movies-কে কনসোল লগ করে দেখছি, movies-এর মধ্যে উপাদানগুলো সরে গেছে। অর্থাৎ অরিজিনাল অ্যারে কিন্তু চেইঞ্জ হয়ে গেছে। 



  const movies = ['Jaws', 'Rocky', 'Alien', 'Avatar', 'Coco', 'Up', 'It'];
  const removed = movies.splice(2,3);
  console.log(removed);
  console.log(movies);


Output: 
['Alien', 'Avatar', 'Coco']
['Jaws', 'Rocky', 'Up', 'It']



splice-এর আরেকটা বাড়তি সুবিধা হচ্ছে, যেখান থেকে উপাদান রিমুভ করতে চাস, সেখানে নতুন উপাদান যোগ করতে পারবি। যতগুলা ইচ্ছা। জাস্ট সেকেন্ড প্যারামিটারের পর ইচ্ছামতো উপাদান দিয়ে ফেলবি।


  const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
  const deleted = numbers.splice(3, 3, 99, 100);
  console.log(deleted); 
  console.log(numbers); 


Output:
[4, 5, 6]
[1, 2, 3, 99, 100, 7, 8, 9, 10]



Practice: 

  1. একটা অ্যারে বানা fruits নামে, যেখানে উপাদানগুলো Apple, Banana, Cherry, Date। এবার slice ব্যবহার করে Banana থেকে Cherry পর্যন্ত বের করে আলাদা অ্যারেতে রাখ।
  2. cars নামে একটা অ্যারে আছে, যার মধ্যে Tesla, BMW, Toyota, Ford আছে। slice দিয়ে শুধু Tesla আর BMW রাখ।
  3. movieList নামে একটা অ্যারে, যেখানে Inception, Titanic, Joker, Avatar, Interstellar আছে। splice দিয়ে Joker আর Avatar বাদ দিয়ে তার জায়গায় Batman আর Superman যোগ কর।
  4. players নামে একটা অ্যারে, যার উপাদান Messi, Ronaldo, Neymar, Mbappe। splice ব্যবহার করে Neymar বাদ দিয়ে Halland যোগ কর।


Previous PageNext Chapter