Array নিয়ে যত অভিযোগ!

স্টুডেন্ট লাইফে আমাদের খুবই প্রয়োজনীয় একটা জিনিস আছে। সেটা হচ্ছে, কলম।

আমি সব সময় দোকানে যাই। সেখানে গিয়ে একটা কলম কিনে আনি। কলমের দাম নেয় ৬ টাকা। সেই কলমের কালি শেষ হলে আবারও দোকানে যাই এবং ৬ টাকা দিয়ে কলম কিনে আনি। এভাবে এই চক্র চলে যাচ্ছে।

লেখার মাঝখানে কলমের কালি শেষ হওয়ার পর, দোকানে যাওয়া বেশ ঝামেলার মনে হলো। তখন বুদ্ধি করে অনেকগুলো কলম একসাথে নেওয়ার চিন্তা করলাম। জানেনই তো, আমার কত্তো বুদ্ধি!

একসাথে ৬ পিছ কলম একসাথে একটা প্যাকেটে বিক্রি করে। এই ৬ পিছ একসাথে নিলে দাম রাখে ৩০ টাকা। তাহলে প্রতি কলমের দাম হয় মাত্র ৫ টাকা। টোটাল ১ টাকা (পড়ুন লাখ) লাভ আছে। ইয়াহু!

জীবনে চলার পথে আমরা কখনো একটা জিনিস কিনি না। একসাথে অনেকগুলো জিনিস কিনে একটা সেট বানাই। যেমনঃ খাতার সেট, কলমের সেট, টি-শার্টের সেট, বইয়ের সেট ইত্যাদি।

জ্বি, আপনি ঠিকই ধরেছেন। এই “সেট” হলো আমাদের সেই ছোটবেলার সেটের অংক। তখন আমরা কীভাবে লিখতাম, মনে আছে?

মনে করুন, আপনি ৩ টা বই দিয়ে সেট বানাতে চাচ্ছেন। তাহলে সেটি কেমন হবে? চলুন দেখা যাক-

বইয়ের সেট = {বাংলা, ইংরেজী, গণিত}

এভাবেই কিন্তু আমরা সেট বানাতাম। তাই না?

এতটুকু বুঝতে পারলে আপনি array-ও বুঝতে পারবেন ইন-শা-আল্লাহ!


Syntax:

সবার নিজস্ব স্টাইল রয়েছে। সেই স্টাইল না মানলে আবার তারা মাইন্ড করে। যেমনঃ ছালাদিয়া হোটেলের “ডাল/আলু ভর্তা” চাইনিজ রেস্টুরেন্টে গিয়ে “লেন্টিল স্যুপ/ ম্যাশড পটেটো” হয়ে যায়। কি সাংঘাতিক ব্যাপার!

তাই আপনি ছালাদিয়া হোটেলে গিয়ে যেমন ‘লেন্টিল-স্যুপ’ পাবেন না, ঠিক তেমনই চাইনিজ রেস্টুরেন্টে ‘আলু-ভর্তা’ পাবেন না।

তাই ছোটবেলার সেটের কথা বললেও array লিখার কিছু স্টাইল আছে। তবে এটা অনেকটা সেটের মতন। আসুন দেখিঃ

সেটের ক্ষেত্রেঃ

বইয়ের সেট = {বাংলা, ইংরেজী, গণিত}

array এর ক্ষেত্রেঃ

const myBooks = ["bangla", "english", "math"];
console.log(myBooks);

দেখেছেন, লাস্টের কোড সেট হতে গিয়ে array হয়ে গেছে! ব্যপারটা একদমই সহজ। সহজ ভাষায় array লিখার নিয়ম হলোঃ

১। একটা নাম দেওয়া (ভেরিয়েবলে নাম যেভাবে নেয়)।

২। থার্ড ব্যাকেট [- -] দেওয়া। সেটের ক্ষেত্রে সেকেন্ড ব্র্যাকেট {- -} দিতেন, কারণ তখন ছোট ছিলেন। এখন বড় হয়ে সেটি [- -] হয়ে গেছে।

৩। টেক্সট (string) থাকলে সেটাকে (‘’/“”) এর ভিতরে রাখা। এরকম না করলে আবার মাইন্ড করবে! বাকিগুলোর ক্ষেত্রে নরমালভাবে লিখলেও হবে। যেমনঃ

const myHobbies = ["ghumano", "khaua", "akash dekha"];
const favoriteNumbers = [3, 4, 7, 33];
const isHalal = [true, true, false, false, true];

এই হচ্ছে array লিখার বিভিন্ন স্টাইল। চলুন আরেকটু গভীরে ডুব দেই।

Array length:

উপরের একটি array-তে আমার কিছু hobby লিখা ছিলো। দেখেছেন? আমি ‘অতীব পরিশ্রমী(!)’ হওয়ায় মাত্র ৩ টা দেখা যাচ্ছে। চলুন, আমার বন্ধু পিয়াসের hobby দেখে আসি।

const peasherHobbies = [
  "ghumano",
  "khaua",
  "adda mara",
  "deri kore basay asa",
  "bitlami kora",
  "rat jaga",
  "gusol na kora",
];

এই মহান ছেলের কয়েকটা hobbies বললাম মাত্র! এখন, আপনি চাইলে একটা একটা গুণে দেখতে পারেন। আবার ইকটু চালাক হলে, একটা সূত্র ব্যবহার করতে পারেন। সেটি হলো (array.length) ব্যবহার করা। যেমনঃ

আমরা পিয়াসের সবগুলো hobbies দেখতে চাইলে আগে লিখতাম:

console.log(peasherHobbies);

এখন যদি ওই array-এর নাম এবং (.length) দেই, তাহলে এটার উপাদান সংখ্যা জানা যাবে। তাহলে পিয়াসের hobbies সংখ্যা দেখতে চাইলে কোড হবেঃ

console.log(peasherHobbies.length);

এই কোড দিলে আপনি পিয়াসের hobbies দেখতে পারবেন। যদিও এই ছেলের hobbies নিয়ে আমি আর কিছু বলতে চাই না। পিয়াস ভালো হয়ে যাক, এই দোয়া করি।

একই জিনিস Number-এর ক্ষেত্রে হলে কেমন হতো?

const myNumbers = [2, 3, 4, 5, 22, 44, 22, 99, 423, 23, 256];
console.log(myNumbers.length);

এটি দিলে আপনি কতগুলো Number ব্যবহার হয়েছে তা দেখতে পারবেন। চাইলে Number-এর সংখ্যা বাড়াতেও পারেন। যেমনঃ

const myNumbers = [
  2, 3, 4, 5, 22, 44, 22, 99, 423, 23, 256, 2, 3, 4, 5, 22, 44, 22, 99,
];
console.log(myNumbers.length);

Array Index:


জাভাস্ক্রিপ্ট ০ থেকে গুনতে শিখেছে, তাহলে আপনি কেন পারবে না?

বুঝেন নাই? আসেন বোঝার চেষ্টা করি-

জাভাস্ক্রিপ্ট হলো একটা বাচ্চার মতো, সবসময় ০ থেকে শুরু করে! সাধারণভাবে আমরা যেটাকে ১ বলি, জাভাস্ক্রিপ্ট সেটাকেই ০ দিয়ে গননা শুরু করে। এতটুকু বুঝলেই আপনি Index এর বস হয়ে যাবেন!

const myNumbers = [10, 12, 15, 18, 25];
console.log(myNumbers);

এটি একটি সাধারণ Array. যদি এর length বের করতে চান, তাহলে কোড হবে-

console.log(myNumbers.length);

আর যদি এর Index সংখ্যা বের করতে চান, তাহলে আপনাকে
লিখতে হবে-

console.log(myNumbers[]); 

এই কোডের ভিতরে আপনি ০-৪ পর্যন্ত যেকোনো কিছুই দিতে পারবেন।


আসেন, Array-কে আরেকভাবে দেখার চেষ্টা করি-

আমার বন্ধু পিয়াসের কথা মনে আছে। ওর কিছু প্রিয় খাবার হলো-

const peashErFavoriteFoods = ["Biriyani", "Pizza", "Burger", "Pasta", "Fuchka"];

এখানে Array Index হিসেব করলে,

০ হবে বিরিয়ানি

১ হবে পিৎজা

২ হবে বার্গার

৩ হবে পাস্তা এবং

৪ হবে ফুচকা!

এগুলোর আউটপুট পেতে হলে লিখতে হবে-

peashErFavoriteFoods[0] → "Biriyani" 
peashErFavoriteFoods[1] → "Pizza"
peashErFavoriteFoods[2] → "Burger"
peashErFavoriteFoods[3] → "Pasta"
peashErFavoriteFoods[4] → "Fuchka" 

এখন যদি আমি peashErFavoriteFoods[3] লিখি, তাহলে আমি পেয়ে যাবো Pasta! Array Index জিনিসটা এরকমই।

তবে হ্যাঁ, আপনি যদি peashErFavoriteFoods[10] লিখেন তবে কিন্তু সে রাগ করে আপনাকে undefined দেখাবে। কারণ- আপনি অনুযায়ী মান সেট করেন নি!


Get elements in Array

ধরুন, আপনি ৩ নং উপাদানকে দেখতে চাচ্ছেন। সেক্ষেত্রে আপনি-

const peashErFavoriteFoods = ["Biriyani", "Pizza", "Burger", "Pasta", "Fuchka"];
console.log(peashErFavoriteFoods);

এটি লিখলে সবগুলো উপাদান পাবেন। তবে, যদি আপনি ৩ নং উপাদান দেখতে চান তখন নিচের মতো করে কোড করতে পারেন।

const third = peashErFavoriteFoods[2];
console.log(third);

বিঃদ্রঃ আমাদের সাধারণ ৩ মানে, জাভাস্ক্রিপ্ট এর ২। কেনো?

কারণঃ জাভাস্ক্রিপ্ট একটি বাচ্চা, সে ০ থেকে গননা করে।


set elements in Array

আগে পিয়াস অনেক বিদেশী খাবার খেতো। ফলে তার নানান সমস্যা হচ্ছিলো। সেজন্য সে বাংলা খাবার খেতে চায়। সে, বার্গারের স্থানে তার প্রিয় খাবার “আলু-ভর্তা” রাখতে চাচ্ছে। এটির জন্য, আমাদের দেখতে হবে আগে বার্গার কত নাম্বারে ছিলো। এরপর সেখানে ‘আলু-ভর্তা’ বসালেই কেল্লা ফতে।

const peashErFavoriteFoods = ["Biriyani", "Pizza", "Burger", "Pasta", "Fuchka"];
console.log(peashErFavoriteFoods);

const third = peashErFavoriteFoods[2];
console.log(third);

peashErFavoriteFoods[2] = "Alu Vorta"; //এখানে আমরা সেই ২ নং ইনডেক্স/৩ নং উপাদানের মান সেট করছি

console.log(peashErFavoriteFoods);

এবার আউটপুটে দেখবেন, বার্গারকে মেরে আলু-ভর্তা করে দিছে আমাদের কোড! :sweat_smile:


Push in an Array

আগের পিয়াসের খাবারের লিস্ট দেখে তার ভালো লাগছে না। সে নতুন আরেকটি আইটেম রাখতে চায়। সেটির ক্ষেত্রেঃ

const peashErFavoriteFoods = ["Biriyani", "Pizza", "Burger", "Pasta", "Fuchka"];
console.log(peashErFavoriteFoods); //আগের খাবারের লিস্ট

peashErFavoriteFoods.push("Ice-Cream"); //এইসক্রিম যোগ করার সময়
console.log(peashErFavoriteFoods);

এভাবে আপনি চাইলে আপনার খাবারের লিস্টকেও বাড়াতে পারেন।

চলুন, আরও কিছু খাওয়াই পিয়াসকে-

peashErFavoriteFoods.push("doi-cira");
peashErFavoriteFoods.push("grill-chicken");
peashErFavoriteFoods.push("kabab");
peashErFavoriteFoods.push("kalavuna", "shorma", "chotpoti");
console.log(peashErFavoriteFoods);

Pop in an Array

খেতে খেতে পিয়াসের ওজন এখন ৪২০ কেজি! এখন তার মনে হচ্ছে, ডায়েট করা দরকার। চাইলেই সব খাবার সে একেবারে বাদ দিতে পারবে না। আপাতত ‘চটপটি’ বাদ দিতে চাচ্ছে। সেক্ষেত্রে-

peashErFavoriteFoods.pop();

console.log(peashErFavoriteFoods);

এটি লিখলে দেখবেন, চটপটি গায়েব হয়ে গেছে। আবার একই কাজ করলে দেখবেন, শর্মা-ও গায়েব!

এতোক্ষণ আমরা সবার শেষের এলিমেন্ট যোগ-বিয়োগ করেছি। এবার যদি সেই একই কাজ প্রথম ইনডেক্সে করতে হয়, তখন কীভাবে করবেন?

ধরা যাক, পিয়াসের প্রথম খাবার ‘বিরিয়ানি’ আমরা এখন খেয়ে ফেলবো (সরিয়ে ফেলবো) সেক্ষেত্রে কোড হবে-

peashErFavoriteFoods.shift();

console.log(peashErFavoriteFoods);

এবার, ধরে নিচ্ছি পিয়াসের প্রিয় খাবাররে তালিকায় প্রথমে রয়েছে “ডিম-পোলাও”। এটি আগে ছিলো না। তাই নতুন খাবারের ক্ষেত্রে আমরা এখন কোড লিখবো-

peashErFavoriteFoods.unshift("Dim-polao");
console.log(peashErFavoriteFoods);

এখন দেখবেন, উপরের array-এর মধ্যে ডিম-পোলাও সবার আগে চলে এসেছে।


এতোক্ষণ ধরে পিয়াসকে পচানোর পরে সে ক্ষেপে গিয়েছে! আমাকে বলছে, আমি নাকি Array সম্পর্কে লিখার বিপরীতে ভুলভাল লিখছি! আমি মানছি, এভাবে বেচারাকে পচানো ঠিক হয় নি। তার মানে এই না, আমি Array সপর্কে না লিখে অন্যকিছু লিখেছি!

এখন পিয়াসকে দেখিয়ে দিবো, আমি যা লিখেছি সেগুলো Array-ই ছিলো। আমার এটি Array কি না, তা বোঝার জন্য নিচের কোড দিলেই হয়ে যাবেঃ

console.log(Array.isArray(peashErFavoriteFoods));

এবার দেখবেন আউটপুট true দেখাচ্ছে। এটি লিখার নিয়ম হলোঃ

  • Array লিখা। প্রথম অক্ষর অবশ্যই বড় হাতের হতে হবে।
  • .isArray() => প্রথম ব্র্যাকেটের ভিরতে আপনার Array-র নাম লিখলেই হয়ে যাবে।

আপনি যদি অন্যকিছু দিয়ে এটি টেস্ট করেন তাহলে কিন্তু false দেখাবে। যেমনঃ


let myMark = 20;
console.log(Array.isArray(myMark));

এটি দিলে আউটপুট false আসবে।

বাকি অংশ পরের পর্বে ইন-শা-আল্লাহ।

6 Likes