JavaScript Arrays

জাভাস্ক্রিপ্ট অ্যারে সম্পর্কে জানুন

JavaScript Arrays

উদাহরণ

const cars = ["Saab", "Volvo", "BMW"];

একটি অ্যারে একটি অবজেক্ট টাইপ যা ডেটার সেট সংরক্ষণ করার জন্য ডিজাইন করা হয়েছে।

জাভাস্ক্রিপ্ট অ্যারেগুলির মূল বৈশিষ্ট্য:

Why Use Arrays?

আপনার যদি আইটেমগুলির একটি তালিকা থাকে (উদাহরণস্বরূপ, গাড়ির নামের একটি তালিকা), একক ভেরিয়েবলে নামগুলি সংরক্ষণ করা এইরকম দেখতে পারে:

let car1 = "Saab";
let car2 = "Volvo";
let car3 = "BMW";

যাইহোক, যদি আপনি গাড়ির মাধ্যমে লুপ করতে চান এবং একটি নির্দিষ্ট খুঁজে পেতে চান? আর ৩টি গাড়ি ছাড়া ৩০০ থাকলে কি হবে?

সমাধান একটি অ্যারে!

একটি অ্যারে একটি নামের অধীনে একাধিক মান ধরে রাখতে পারে এবং আপনি একটি কোড নম্বর নির্দিষ্ট করে মানগুলি অ্যাক্সেস করতে পারেন।

Creating an Array

একটি অ্যারে আক্ষরিক ব্যবহার করা একটি জাভাস্ক্রিপ্ট অ্যারে তৈরি করার সবচেয়ে সহজ উপায়।

সিনট্যাক্স:

const array_name = [item1, item2, ...];

📝দ্রষ্টব্য:

কনস্ট কীওয়ার্ড দিয়ে অ্যারে ঘোষণা করা সাধারণ অভ্যাস।

JS Array Const অধ্যায়ে অ্যারে সহ const সম্পর্কে আরও জানুন।

উদাহরণ

const cars = ["Saab", "Volvo", "BMW"];

স্থান এবং লাইন বিরতি গুরুত্বপূর্ণ নয়. একটি ঘোষণার একাধিক লাইন থাকতে পারে:

উদাহরণ

const cars = [
  "Saab",
  "Volvo",
  "BMW"
];

আপনি একটি খালি অ্যারে তৈরি করতে পারেন এবং তারপর উপাদানগুলি বরাদ্দ করতে পারেন:

উদাহরণ

const cars = [];
cars[0]= "Saab";
cars[1]= "Volvo";
cars[2]= "BMW";

Using the JavaScript Keyword new

নিম্নলিখিত উদাহরণটি একটি অ্যারে তৈরি করে এবং এটিতে মান নির্ধারণ করে:

উদাহরণ

const cars = new Array("Saab", "Volvo", "BMW");

💡দ্রষ্টব্য:

উপরের উভয় উদাহরণ ঠিক একই কাজ করে।

নতুন অ্যারে() ব্যবহার করার দরকার নেই।

সরলতা, পঠনযোগ্যতা এবং সঞ্চালনের গতির জন্য, অ্যারে সরাসরি পদ্ধতি ব্যবহার করুন।

Accessing Array Elements

আপনি কোড নম্বর উল্লেখ করে একটি অ্যারে উপাদান অ্যাক্সেস করতে পারেন:

const cars = ["Saab", "Volvo", "BMW"];
let car = cars[0];

📝দ্রষ্টব্য:

সিকোয়েন্স কোড 0 দিয়ে শুরু হয়।

[0] প্রথম উপাদান। [১] দ্বিতীয় উপাদান।

Changing an Array Element

এই বিবৃতিটি গাড়ির প্রথম উপাদানটির মান পরিবর্তন করে:

cars[0] = "Opel";

উদাহরণ

const cars = ["Saab", "Volvo", "BMW"];
cars[0] = "Opel";

Converting an Array to a String

JavaScript পদ্ধতি toString() একটি অ্যারেকে (কমা-বিচ্ছিন্ন) অ্যারের মানগুলির স্ট্রিংয়ে রূপান্তর করে।

উদাহরণ

const fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.toString();

উপসংহার:

Banana,Orange,Apple,Mango

Access the Full Array

জাভাস্ক্রিপ্টের সাহায্যে, অ্যারের নাম উল্লেখ করে সম্পূর্ণ অ্যারে অ্যাক্সেস করা যেতে পারে:

উদাহরণ

const cars = ["Saab", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars;

Arrays are Objects

অ্যারেগুলি বস্তুর একটি বিশেষ শ্রেণি। জাভাস্ক্রিপ্টে অপারেটর টাইপ অ্যারেতে একটি "অবজেক্ট" প্রদান করে।

কিন্তু জাভাস্ক্রিপ্ট অ্যারেগুলিকে অ্যারে হিসাবে আরও ভালভাবে বর্ণনা করা হয়।

অ্যারে তার "উপাদান" অ্যাক্সেস করতে সংখ্যা ব্যবহার করে। এই উদাহরণে, ব্যক্তি [0] জন ফেরত দেয়:

আদেশ:

const person = ["John", "Doe", 46];

বস্তু তার "সদস্য" অ্যাক্সেস করতে নাম ব্যবহার করে। এই উদাহরণে, person.firstName জন রিটার্ন করে:

Object:

const person = {firstName:"John", lastName:"Doe", age:46};

Array Elements Can Be Objects

জাভাস্ক্রিপ্ট ভেরিয়েবল বস্তু হতে পারে. অ্যারে হল বিশেষ ধরনের বস্তু।

এই কারণে, আপনি একই অ্যারেতে বিভিন্ন ধরণের ভেরিয়েবল থাকতে পারেন।

একটি অ্যারে বস্তু ধারণ করতে পারে। একটি অ্যারে অপারেশন থাকতে পারে। একটি অ্যারেতে সারি থাকতে পারে:

myArray[0] = Date.now;
myArray[1] = myFunction;
myArray[2] = myCars;

Array Properties and Methods

জাভাস্ক্রিপ্ট অ্যারেগুলির আসল শক্তি হল অন্তর্নির্মিত অ্যারে বৈশিষ্ট্য এবং পদ্ধতিগুলি:

cars.length   // Returns the number of elements
cars.sort()   // Sorts the array

অ্যারে পদ্ধতিগুলি পরবর্তী অধ্যায়ে কভার করা হয়েছে।

The length Property

একটি অ্যারের দৈর্ঘ্য বৈশিষ্ট্য একটি অ্যারের দৈর্ঘ্য (অ্যারের উপাদানের সংখ্যা) প্রদান করে।

উদাহরণ

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let length = fruits.length;

দৈর্ঘ্যের বৈশিষ্ট্য সর্বদা সর্বোচ্চ ক্রম সূচকের চেয়ে বেশি।

Accessing the First Array Element

উদাহরণ

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[0];

Accessing the Last Array Element

উদাহরণ

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[fruits.length - 1];

Looping Array Elements

একটি অ্যারের মাধ্যমে লুপ করার একটি উপায় হল একটি লুপ ব্যবহার করা:

উদাহরণ

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fLen = fruits.length;

let text = "
    "; for (let i = 0; i < fLen; i++) { text += "
  • " + fruits[i] + "
  • "; } text += "
";

এছাড়াও আপনি Array.forEach() ফাংশন ব্যবহার করতে পারেন:

উদাহরণ

const fruits = ["Banana", "Orange", "Apple", "Mango"];

let text = "
    "; fruits.forEach(myFunction); text += "
"; function myFunction(value) { text += "
  • " + value + "
  • "; }

    Adding Array Elements

    একটি অ্যারেতে একটি নতুন উপাদান যোগ করার সবচেয়ে সহজ উপায় হল push() পদ্ধতি ব্যবহার করা:

    উদাহরণ

    const fruits = ["Banana", "Orange", "Apple"];
    fruits.push("Lemon");  // Adds a new element (Lemon) to fruits

    দৈর্ঘ্য বৈশিষ্ট্য ব্যবহার করে একটি অ্যারেতে একটি নতুন উপাদান যোগ করা যেতে পারে:

    উদাহরণ

    const fruits = ["Banana", "Orange", "Apple"];
    fruits[fruits.length] = "Lemon";  // Adds "Lemon" to fruits

    ⚠️সতর্কতা !

    আরো চিহ্ন সহ উপাদান যোগ করা অ্যারেতে অনির্ধারিত "গর্ত" তৈরি করতে পারে:

    const fruits = ["Banana", "Orange", "Apple"];
    fruits[6] = "Lemon";  // Creates undefined "holes" in fruits

    Associative Arrays

    অনেক প্রোগ্রামিং ভাষা নামযুক্ত চিহ্ন সহ অ্যারে সমর্থন করে।

    নামযুক্ত সূচী সহ অ্যারেগুলিকে অ্যাসোসিয়েটিভ অ্যারে (বা হ্যাশ) বলা হয়।

    জাভাস্ক্রিপ্ট নামযুক্ত চিহ্ন সহ অ্যারে সমর্থন করে না।

    জাভাস্ক্রিপ্টে, অ্যারে সবসময় সংখ্যাযুক্ত চিহ্ন ব্যবহার করে।

    উদাহরণ

    const person = [];
    person[0] = "John";
    person[1] = "Doe";
    person[2] = 46;
    person.length;    // Will return 3
    person[0];        // Will return "John"

    ⚠️সতর্কতা!!

    আপনি যদি নামযুক্ত চিহ্ন ব্যবহার করেন, জাভাস্ক্রিপ্ট অ্যারেটিকে একটি অবজেক্ট হিসাবে পুনরায় সংজ্ঞায়িত করে।

    এর পরে, কিছু সাজানোর পদ্ধতি এবং বৈশিষ্ট্যগুলি ভুল ফলাফল তৈরি করবে।

    const person = [];
    person["firstName"] = "John";
    person["lastName"] = "Doe";
    person["age"] = 46;
    person.length;     // Will return 0
    person[0];         // Will return undefined

    The Difference Between Arrays and Objects

    জাভাস্ক্রিপ্টে, অ্যারে সংখ্যাযুক্ত চিহ্ন ব্যবহার করে।

    জাভাস্ক্রিপ্টে, অবজেক্ট নামযুক্ত চিহ্ন ব্যবহার করে।

    অ্যারে হল সংখ্যাযুক্ত চিহ্ন সহ বস্তুর একটি বিশেষ শ্রেণি।

    When to Use Arrays. When to use Objects.

    JavaScript new Array()

    জাভাস্ক্রিপ্টে একটি বিল্ট-ইন অ্যারে কনস্ট্রাক্টর নতুন অ্যারে() রয়েছে।

    কিন্তু আপনি এর পরিবর্তে নিরাপদে [] ব্যবহার করতে পারেন।

    এই দুটি ভিন্ন বিবৃতি বিন্দু নামে একটি নতুন খালি অ্যারে তৈরি করে:

    const points = new Array();
    const points = [];

    এই দুটি ভিন্ন বিবৃতি 6 সংখ্যার একটি নতুন অ্যারে তৈরি করে:

    const points = new Array(40, 100, 1, 5, 25, 10);
    const points = [40, 100, 1, 5, 25, 10];

    নতুন শব্দটি কিছু অপ্রত্যাশিত ফলাফল তৈরি করতে পারে:

    // Create an array with three elements:
    const points = new Array(40, 100, 1);
    // Create an array with two elements:
    const points = new Array(40, 100);
    // Create an array with one element ???
    const points = new Array(40);

    A Common Error

    const points = [40];

    এর সমান নয়:

    const points = new Array(40);
    // Create an array with one element:
    const points = [40];
    // Create an array with 40 undefined elements:
    const points = new Array(40);

    How to Recognize an Array

    একটি সাধারণ প্রশ্ন হল: একটি ভেরিয়েবল একটি অ্যারে হলে আমি কিভাবে জানব?

    সমস্যা হল যে জাভাস্ক্রিপ্ট বাস্তবায়ন "অবজেক্ট" টাইপ প্রদান করে:

    const fruits = ["Banana", "Orange", "Apple"];
    let type = typeof fruits;

    টাইপফ অপারেটর অবজেক্ট রিটার্ন করে কারণ জাভাস্ক্রিপ্ট অ্যারে একটি অবজেক্ট।

    Solution 1:

    এই সমস্যা সমাধানের জন্য ECMAScript 5 (JavaScript 2009) একটি নতুন পদ্ধতি সংজ্ঞায়িত করেছে Array.isArray():

    Array.isArray(fruits);

    Solution 2:

    প্রদত্ত কনস্ট্রাক্টর দ্বারা একটি অবজেক্ট তৈরি করা হলে অপারেটরের উদাহরণটি সত্য হয়:

    const fruits = ["Banana", "Orange", "Apple"];
    
    (fruits instanceof Array);

    Nested Arrays and Objects

    বস্তুর মানগুলি অ্যারে হতে পারে এবং অ্যারেগুলির মানগুলি বস্তু হতে পারে:

    উদাহরণ

    const myObj = {
      name: "John",
      age: 30,
      cars: [
        {name:"Ford", models:["Fiesta", "Focus", "Mustang"]},
        {name:"BMW", models:["320", "X3", "X5"]},
        {name:"Fiat", models:["500", "Panda"]}
      ]
    }

    অ্যারের মধ্যে অ্যারে অ্যাক্সেস করতে, প্রতিটি অ্যারের জন্য একটি ফর-ইন লুপ ব্যবহার করুন:

    উদাহরণ

    for (let i in myObj.cars) {
      x += "

    " + myObj.cars[i].name + "

    "; for (let j in myObj.cars[i].models) { x += myObj.cars[i].models[j]; } }

    Learn More:

    Exercise

    কোনটি একটি অ্যারে তৈরি করার আইনি উপায় নয়?

    কোন সারি প্রজন্মের পদ্ধতি বৈধ নয়?

    const fruits = ['Orange', 'Banana', 'Apple'];
    ✗ ভুল! এটি হল অ্যারে সরাসরি পদ্ধতি এবং জাভাস্ক্রিপ্টে একটি অ্যারে তৈরি করার সঠিক উপায়।
    const fruits = new Array ('Orange', 'Banana', 'Apple');
    ✗ ভুল! নতুন Array() কনস্ট্রাক্টর ঠিক আছে, কিন্তু এটি অ্যারে সরাসরি পদ্ধতি ব্যবহার করার সুপারিশ করা হয়।
    const fruits = ('Orange', 'Banana', 'Apple');
    ✓ ঠিক আছে! এটি সঠিক অ্যারে সিনট্যাক্স নয়। বর্গাকার বন্ধনী [] অথবা নতুন Array() কনস্ট্রাক্টর দিয়ে অ্যারে তৈরি করতে হবে।