JavaScript এর হাতেখড়ি (পর্ব – ৭)

JavaScript Part 7

আগের পর্বে আমরা Function শিখেছি। আজকে শিখবো Array — একাধিক মান একসাথে একটা variable-এ জমিয়ে রাখার কৌশল। এতদিন আমরা একটা variable-এ একটা মানই রাখতাম, কিন্তু বাস্তব প্রোগ্রামে প্রায়ই অনেকগুলো মান একসাথে সামলাতে হয় — যেমন ১০ জন ছাত্রের নাম, বা ৫টা প্রোডাক্টের দাম।

Array কী?

Array হলো একটা লিস্ট — একাধিক মান স্কোয়ার ব্র্যাকেটের ভেতরে কমা দিয়ে আলাদা করে রাখা হয়:

const fruits = ["আম", "কাঁঠাল", "লিচু"];
const numbers = [10, 25, 3, 47];
const mixed = ["আরিফ", 25, true];

Array-তে যেকোনো data type রাখা যায় — এমনকি একই array-তে string, number, boolean মিশিয়েও রাখা যায় (যদিও বাস্তবে সাধারণত এক ধরনের ডেটাই রাখা হয়)।

Index — প্রতিটা আইটেমের অবস্থান

Array-এর প্রতিটা আইটেমের একটা নম্বর (index) থাকে, যেটা ০ থেকে শুরু হয় — এটা beginner-দের সবচেয়ে বেশি বিভ্রান্ত করে:

const fruits = ["আম", "কাঁঠাল", "লিচু"];
//               0      1        2

console.log(fruits[0]); // আম     — প্রথম আইটেম
console.log(fruits[1]); // কাঁঠাল  — দ্বিতীয় আইটেম
console.log(fruits[2]); // লিচু    — তৃতীয় আইটেম

টিপস: মনে রাখো — fruits[1] মানে দ্বিতীয় আইটেম, প্রথম না। প্রথম আইটেম পেতে fruits[0] ব্যবহার করতে হয়। এই "০ থেকে শুরু" নিয়মটা প্রায় সব প্রোগ্রামিং ভাষায় একই, তাই শুরুতেই এটা মুখস্থ করে নেওয়া ভালো।

Array-এর দৈর্ঘ্য — .length

const fruits = ["আম", "কাঁঠাল", "লিচু"];
console.log(fruits.length); // 3

.length দিয়ে array-তে কয়টা আইটেম আছে জানা যায়। শেষ আইটেম পেতে fruits[fruits.length - 1] ব্যবহার করা হয় (যেহেতু index ০ থেকে শুরু)।

Array-তে নতুন আইটেম যোগ করা

const fruits = ["আম", "কাঁঠাল"];

fruits.push("লিচু");     // শেষে যোগ হবে
console.log(fruits); // ["আম", "কাঁঠাল", "লিচু"]

fruits.unshift("জাম");   // শুরুতে যোগ হবে
console.log(fruits); // ["জাম", "আম", "কাঁঠাল", "লিচু"]
Method কাজ
push() শেষে নতুন আইটেম যোগ করে
unshift() শুরুতে নতুন আইটেম যোগ করে

Array থেকে আইটেম বাদ দেওয়া

const fruits = ["জাম", "আম", "কাঁঠাল", "লিচু"];

fruits.pop();      // শেষের আইটেম বাদ যাবে ("লিচু")
console.log(fruits); // ["জাম", "আম", "কাঁঠাল"]

fruits.shift();     // শুরুর আইটেম বাদ যাবে ("জাম")
console.log(fruits); // ["আম", "কাঁঠাল"]
Method কাজ
pop() শেষের আইটেম বাদ দেয়
shift() শুরুর আইটেম বাদ দেয়

টিপস: const দিয়ে array বানালেও push(), pop()-এর মতো method কাজ করবে — কারণ const শুধু আটকায় যে variable-টা সম্পূর্ণ অন্য একটা নতুন array-তে reassign করা যাবে না, কিন্তু array-এর ভেতরের কন্টেন্ট বদলানো যায়।

Array-তে আইটেম খুঁজে বের করা

const fruits = ["আম", "কাঁঠাল", "লিচু"];

console.log(fruits.includes("কাঁঠাল")); // true
console.log(fruits.indexOf("লিচু"));    // 2 (কোন index-এ আছে)
console.log(fruits.indexOf("পেয়ারা"));  // -1 (নেই বলে -1)

Array-এর ভেতর দিয়ে Loop চালানো

আগের পর্বে শেখা for loop দিয়ে array-এর প্রতিটা আইটেম ঘুরে দেখা যায়:

const fruits = ["আম", "কাঁঠাল", "লিচু"];

for (let i = 0; i < fruits.length; i++) {
  console.log(fruits[i]);
}

i < fruits.length — এখানে <= না দিয়ে শুধু < ব্যবহার করা হয়েছে, কারণ index ০ থেকে শুরু হয়ে length - 1 পর্যন্ত যায় — এই ৩টা আইটেমের array-তে শেষ index হলো ২, ৩ না। এটা একটা খুব কমন beginner ভুল, তাই খেয়াল রেখো।

আধুনিক JavaScript-এ আরও সহজভাবে ঘোরার একটা উপায় আছে, for...of:

for (const fruit of fruits) {
  console.log(fruit);
}

এখানে index নিয়ে ভাবতেই হচ্ছে না — সরাসরি প্রতিটা আইটেম fruit নামে পাওয়া যাচ্ছে। যখন শুধু আইটেম দরকার, index দরকার না, তখন for...of বেশি পরিষ্কার।

একটা সম্পূর্ণ উদাহরণ

<!DOCTYPE html>
<html lang="bn">
<head>
  <meta charset="UTF-8">
  <title>Array উদাহরণ</title>
</head>
<body>
  <script>
    const students = ["করিম", "রহিম", "সুমি"];

    students.push("তানিয়া");
    console.log(`মোট ছাত্র: ${students.length}`);

    for (const student of students) {
      console.log(`নাম: ${student}`);
    }

    if (students.includes("সুমি")) {
      console.log("সুমি লিস্টে আছে");
    }
  </script>
</body>
</html>

নিজে চেষ্টা করো

Exercise:

  1. ৫টা তোমার প্রিয় খাবারের নাম দিয়ে একটা array বানাও
  2. push() দিয়ে আরেকটা খাবার যোগ করো, pop() দিয়ে শেষেরটা বাদ দাও
  3. for...of দিয়ে পুরো array console-এ প্রিন্ট করো
  4. includes() দিয়ে চেক করো নির্দিষ্ট কোনো খাবার array-তে আছে কিনা

পরের পর্বে যা থাকছে

পর্ব ৮-এ আমরা শিখবো Object বেসিক — key-value জোড়া দিয়ে বাস্তব-জগতের জিনিস (যেমন একজন ব্যক্তি বা একটা প্রোডাক্ট) কীভাবে represent করা যায়, উদাহরণসহ।

একটি মন্তব্য পোস্ট করুন

নবীনতর পূর্বতন

যোগাযোগ ফর্ম