আগের পর্বে আমরা 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:
- ৫টা তোমার প্রিয় খাবারের নাম দিয়ে একটা array বানাও
push()দিয়ে আরেকটা খাবার যোগ করো,pop()দিয়ে শেষেরটা বাদ দাওfor...ofদিয়ে পুরো array console-এ প্রিন্ট করোincludes()দিয়ে চেক করো নির্দিষ্ট কোনো খাবার array-তে আছে কিনা
পরের পর্বে যা থাকছে
পর্ব ৮-এ আমরা শিখবো Object বেসিক — key-value জোড়া দিয়ে বাস্তব-জগতের জিনিস (যেমন একজন ব্যক্তি বা একটা প্রোডাক্ট) কীভাবে represent করা যায়, উদাহরণসহ।