আমরা আমাদের জন্য একটি ফলের লিস্ট তৈরি করি। আমরা আমাদের লিস্টকে "fruit" বলব, এবং নিচের ভ্যালুগুলো যোগ করব: Banana, melon, grapes. ওহ, আমি কত ফল পছন্দ করি! যদিও এটি শপিং লিস্ট টিউটোরিয়াল जैसा লাগে, আসলে আমরা একটি অ্যারে তৈরি করেছি।
এই গাইডে, আমরা অ্যারে কী, কীভাবে কাজ করে, এবং আপনার কোডে কেন এটি ব্যবহার করা উচিত তা দেখব। আমরা অ্যারে কর্মক্ষেত্রে ব্যবহারের কিছু উদাহরণ আলোচনা করব যাতে আপনি জাভাস্ক্রিপ্ট অ্যারে নিনজা बनতে পারেন!
অ্যারে কী?
একটি অ্যারে হল একটি অবজেক্ট যা ডেটা সংরক্ষণ করে। অ্যারে আইটেমের একটি অর্ডার্ড কালেকশন ধারণ করে, এবং শূন্য বা অধিক আইটেম সংরক্ষণ করতে পারে। অ্যারে প্রোগ্রামিং-এ উপকারী কারণ এটি আপনাকে একই ভেরিয়েবলে সাদৃশ্য ভ্যালুগুলো সংরক্ষণ করতে দেয়।
আপনার পছন্দের ফলগুলো লিস্ট করার জন্য আপনাকে দশটি সিঙ্গল ভেরিয়েবল লিখতে হবে না। একটি অ্যারেতে, আপনি আপনার সকল পছন্দের ফল একটি ভেরিয়েবলে যোগ করতে পারেন।
নিচের উদাহরণটি বিবেচনা করুন:
let fruits = [ "Banana", "Grapes", "Melon" ];
এখানে আমরা "fruits" নামে একটি অ্যারে তৈরি করেছি। এতে তিনটি ভিন্ন ভ্যালু থাকে, যেগুলো প্রতিটি একই গ্রোসারি স্টোর থেকে কেনা যেতে পারে এমন ফলকে রিপ্রেজেন্ট করে। আমাদের অ্যারে ঘোষণা করতে, আমরা আমাদের আইটেম লিস্টকে স্কোয়ার ব্র্যাকেটে ঘেরেছি।
অ্যারে ঘোষণা করা
অ্যারে ঘোষণা করার দুটি পদ্ধতি আছে। অধিকাংশ লোক যে পদ্ধতিটি ফলো করে সেটি হলো আইটেমের লিস্টকে স্কোয়ার ব্র্যাকেটে ঘেরা, যেমন আমরা আগে করেছি:
let berries = [ "Strawberry", "Blueberry", "Gooseberry" ];
এই উদাহরণে আমরা তিনটি ভ্যালু সহ একটি অ্যারে ঘোষণা করেছি। আমরা অ্যারে কনস্ট্রাক্টরও ব্যবহার করতে পারি, যা new কীওয়ার্ড ব্যবহার করে অ্যারে ঘোষণা করে:
81% of participants stated they felt more confident about their tech job prospects after attending a bootcamp. Get matched to a bootcamp today.
The average bootcamp grad spent less than six months in career transition, from starting a bootcamp to finding their first job.
let berries = new Array( "Strawberry", "Blueberry", "Gooseberry" );
এই কোড স্নিপেটগুলো একই অ্যারে তৈরি করে, কিন্তু ভিন্ন পদ্ধতিতে। লক্ষ্য করুন যে আমাদের دوم উদাহরণে আমরা সার্কুলার ব্র্যাকেট ব্যবহার করেছি অ্যারে ঘোষণা করতে। আমাদের new Array কনস্ট্রাক্টর ব্যবহার করতে হয়েছে অ্যারে ঘোষণা করতে। এর কারণেই অধিকাংশ লোক প্রথম পদ্ধতিটি পছন্দ করে; স্কোয়ার ব্র্যাকেট মনে রাখা সহজ এবং দ্রুত টাইপ করা যায়।
অ্যারেতে একই ডেটা টাইপ থাকতে হয় না। আমাদের অ্যারে যেকোনো সংখ্যক ভিন্ন টাইপের ডেটা সংরক্ষণ করতে পারে:
let berries = [ "Strawberry", 1.50, true ];
এই অ্যারে তিনটি ভিন্ন টাইপের ডেটা সংরক্ষণ করে: একটি স্ট্রিং, একটি নাম্বার, এবং একটি বুলিয়ান। এখন যেহেতু আপনি অ্যারে ঘোষণা করার সাথে পরিচিত, আপনি তাদের কন্টেন্ট অ্যাক্সেস করার জন্য প্রস্তুত।
অ্যারে পড়া
অ্যারে খুব কম উপকারী হতো যদি আমরা তাদের ভ্যালু পড়তে পারতাম না। তাই ইন্ডেক্সিং আছে। ইন্ডেক্সিং হল একটি ইটেরেবল অবজেক্ট, যেমন একটি লিস্ট, থেকে ইনডিভিজুয়াল আইটেম অ্যাক্সেস করার একটি পদ্ধতি।
অ্যারেতে থাকা প্রতিটি এলিমেন্টকে তার নিজস্ব ইন্ডেক্স নম্বর দেওয়া হয়। এই নম্বরগুলো ০ দিয়ে শুরু হয়, এবং একটি অ্যারেতে ইনডিভিজুয়াল আইটেম অ্যাক্সেস করতে ব্যবহার করা যায়। আমাদের "fruits" অ্যারেটি মনে করুন?
let fruits = [ "Banana", "Grapes", "Melon" ];
এই অ্যারেটি বরাদ্দ করা ইন্ডেক্স ভ্যালুগুলো নিচে দেওয়া হলো:
- 0: Banana
- 1: Grapes
- 2: Melon
এই নম্বরগুলো ব্যবহার করে, আমরা আমাদের লিস্ট থেকে ইনডিভিজুয়াল আইটেম অ্যাক্সেস করতে পারি। ধরা যাক আপনি জানতে চান আপনার অ্যারেতে ইন্ডেক্স পজিশন ১-এ কোন ফল আছে। আপনি অ্যারের নামের পর স্কোয়ার ব্র্যাকেটে ইন্ডেক্স ভ্যালু বলে দিয়ে এটি করতে পারেন:
fruits[1];
আমাদের কোড রিটার্ন করে: Grapes। আমরা ইন্ডেক্স পজিশন ১ রেফার করছি, যেটি "Grapes" ভ্যালু সংরক্ষণ করে। আপনি যদি ০ ভ্যালু পাস করেন, "Banana" রিটার্ন হবে। আপনি যদি এমন একটি আইটেম অ্যাক্সেস করার চেষ্টা করেন যা অস্তিত্বে নেই, "undefined" রিটার্ন হবে:
fruits[10];
আউটপুট: undefined। ইন্ডেক্সিং সেখানে বিশেষভাবে উপকারী যেখানে আপনি একটি অ্যারেতে থাকা আইটেমগুলোতে লুপ করে যেতে চান। ধরা যাক আপনি আপনার অ্যারেতে থাকা প্রতিটি ফল কনসোলে প্রিন্ট করতে চান। আপনি এটি একটি for লুপ ব্যবহার করে করতে পারেন এরকম:
for (var i = 0; i < fruits.length; i++) { console.log(fruits[i]); }
এই কোড রিটার্ন করে:
Banana Grapes Melon
আমাদের কোড আমাদের লিস্টের প্রতিটি আইটেমের মাধ্যমে লুপ করে, তারপর প্রতিটি আইটেম কনসোলে প্রিন্ট করে। আপনি লক্ষ্য করবেন আমরা length প্রোপার্টি ব্যবহার করেছি। এটি আমাদের লিস্টের দৈর্ঘ্য রিটার্ন করে।
অ্যারেতে আইটেম যোগ করা
বেশির ভাগ সময়, আপনি আপনার অ্যারে প্রাথমিকভাবে ঘোষণা করার পর একটি নতুন ভ্যালু যোগ করতে চাবেন। আপনি এটি push() অ্যারে মেথড ব্যবহার করে করতে পারেন।
আমরা আমাদের ফলের লিস্টে "Strawberry" যোগ করা ভুলে গেছি। ওহ না! চিন্তা করবেন না, আমরা সবসময় এটি push() মেথড ব্যবহার করে যোগ করতে পারি:
let fruits = [ "Banana", "Grapes", "Melon" ]; fruits.push("Strawberry"); console.log(fruits);
এখন যেহেতু আমরা এই কোড রান করেছি, আমাদের অ্যারে এরকম দেখাবে:
| Banana | Grapes | Melon | Strawberry |
| 1 | 2 | 3 |
আপনি unshift() ব্যবহার করে আপনার অ্যারের শুরুতে ডেটা যোগ করতে পারেন। স্ট্রবেরি আমাদের শপিং লিস্টে এতটাই গুরুত্বপূর্ণ যে আমরা চাই সেটি প্রথমে দেখাবে:
let fruits = [ "Banana", "Grapes", "Melon" ]; fruits.unshift("Strawberry"); console.log(fruits);
এটি আমাদের মূল "fruits" লিস্টকে এরকম করে দেবে:
| Strawberry | Banana | Grapes | Melon |
| 1 | 2 | 3 |
অ্যারে থেকে আইটেম রিমুভ করা
পata চলে যে আমাদের বাড়িতে ইতিমধ্যে একটি মেলন আছে, তাই আমাদের সেটি কেনার দরকার নেই। আরেকটি মেলন কেনার ফায়দা কী, ঠিক? যেহেতু মেলন আমাদের লিস্টের শেষে, আমাদের এটিকে রিমুভ করার দুটি অপশন আছে:
splice(): ইন্ডেক্স নম্বর দ্বারা এলিমেন্ট রিমুভ করে।pop(): অ্যারের শেষ থেকে একটি এলিমেন্ট রিমুভ করে।
splice() উদাহরণ হিসেবে ব্যবহার করি:
let fruits = [ "Banana", "Grapes", "Melon" ]; fruits.splice(3, 1); console.log(fruits);
আমাদের কোড রিটার্ন করে:
Strawberry Banana Grapes
splice() দুটি প্যারামিটার গ্রহণ করে। প্রথমটি হলো অ্যারে থেকে রিমুভ করার ইন্ডেক্স নম্বর, এবং دومটি হলো কতগুলো আইটেম রিমুভ করতে হবে। এই কেসে, আমরা ইন্ডেক্স ভ্যালু ৩ ধারণকারী আইটেমটি রিমুভ করতে চেয়েছিলাম, তাই আমরা "3, 1" আমাদের প্যারামিটার হিসেবে স্পেসিফাই করেছি।
pop() কোনো প্যারামিটার গ্রহণ করে না। এটি শুধু লিস্টের লাস্ট আইটেম রিমুভ করে:
let fruits = [ "Banana", "Grapes", "Melon" ]; fruits.pop(); console.log(fruits);
আমাদের কোড রিটার্ন করে:
Banana Grapes
আপনি shift()ও ব্যবহার করতে পারেন লিস্টের শুরু থেকে একটি আইটেম রিমুভ করতে:
let fruits = [ "Banana", "Grapes", "Melon" ]; fruits.shift(); console.log(fruits);
আমাদের কোড রিটার্ন করে:
Grapes Melon
push() এবং unshift() লিস্টে আইটেম যোগ করে। pop() এবং shift() লিস্ট থেকে আইটেম রিমুভ করে। splice মেথডও ইন্ডেক্স ভ্যালু ভিত্তিক করে লিস্ট থেকে একটি আইটেম রিমুভ করতে ব্যবহার করা যায়।
অ্যারেতে আইটেম পরিবর্তন করা
যদিও কেলা একটি স্বাদিষ্ট ফল, প্রায়শই সেগুলো এত বড় যে আপনি শুধু স্ন্যাক হিসেবে একটি কেলা খাতে পারবেন না যখন আপনি একটু ক্ষুধার্ত মনে করছেন। বেবি কেলা খাওয়া সহজ।
এখন, ধরা যাক আমরা আমাদের "fruits" লিস্ট পরিবর্তন করতে চাই যাতে আমরা রেগুলার কেলার বদলে বেবি কেলা কেনি। আমরা এটিকে যেকোনো ভেরিয়েবলের মতো অ্যাসাইনমেন্ট অপারেটর ব্যবহার করে করতে পারি:
fruits[0] = "Baby bananas"; console.log(fruits);
আমাদের কোড রিটার্ন করে:
Baby bananas Grapes Melon
আমরা ইন্ডেক্স পজিশন ০-এ থাকা আইটেমকে মডিফাই করেছি যাতে সেটি "Baby bananas" ভ্যালু সংরক্ষণ করে। এই পরিবর্তন করার জন্য আপনাকে কোনো স্পেশাল মেথড ব্যবহার করতে হবে না; অ্যাসাইনমেন্ট অপারেটর অ্যারেতে ভ্যালু পরিবর্তন করতে ব্যবহৃত হয়।
উপসংহার
এটিই জাভাস্ক্রিপ্ট অ্যারে সম্পর্কে আপনার জানা দরকার বেসিক्स। আপনার শিখতে আরও অনেক কিছু আছে, কিন্তু সেটাই প্রোগ্রামিংর মজা: আপনার জন্য সবসময় নতুন চ্যালেঞ্জ থাকে। যদি অন্য কিছু না হয়, আপনি আমার পছন্দের ফলগুলো সম্পর্কে জানতে পেরেছেন। যদিও আমি বলব যে আমি ব্ল্যাককারেন্ট খুব পছন্দ করি, যা আমি এই টিউটোরিয়ালে মেনশন করিনি।
এখন আপনি জাভাস্ক্রিপ্ট অ্যারে এক্সপার্টের মতো ব্যবহার করতে পারবেন!