JavaScript – آرایه‌ها (Arrays)

آرایه در جاوااسکریپت متغیری خاص است که می‌تواند بیش از یک مقدار را ذخیره کند.

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

چرا از آرایه‌ها استفاده کنیم؟

اگر لیستی از مقادیر (مانند نام ماشین‌ها) داشته باشیم، ذخیره آن‌ها در متغیرهای جداگانه پیچیده می‌شود:

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

اما اگر تعداد آیتم‌ها زیاد باشد، استفاده از آرایه راه‌حل بهتری است.

ایجاد آرایه

نحو ایجاد آرایه:

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

مثال:

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

ایجاد آرایه با خط‌های جداگانه:

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

ایجاد آرایه و اضافه کردن مقادیر:

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

استفاده از دستور new برای آرایه

می‌توان آرایه‌ها را با استفاده از کلمه کلیدی new ایجاد کرد:

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

اما استفاده از [ ] سریع‌تر و خواناتر است.

دسترسی به مقادیر آرایه

برای دسترسی به مقادیر آرایه از اندیس (Index) استفاده می‌کنیم:

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

نکته: اندیس آرایه‌ها از 0 شروع می‌شود.

تغییر مقدار آرایه

cars[0] = "Opel";

تبدیل آرایه به رشته

متد toString() آرایه را به یک رشته تبدیل می‌کند:

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

خروجی:

Banana,Orange,Apple,Mango

ویژگی‌ها و متدهای آرایه

طول آرایه (Property: length)

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

دسترسی به اولین و آخرین عنصر آرایه

let first = fruits[0]; // Banana
let last = fruits[fruits.length - 1]; // Mango

پیمایش عناصر آرایه

با استفاده از for:

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let text = "<ul>";
for (let i = 0; i < fruits.length; i++) {
  text += "<li>" + fruits[i] + "</li>";
}
text += "</ul>";

با استفاده از forEach:

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let text = "<ul>";
fruits.forEach((value) => {
  text += "<li>" + value + "</li>";
});
text += "</ul>";

افزودن عنصر به آرایه

با push:

fruits.push("Lemon");

با استفاده از ویژگی length:

fruits[fruits.length] = "Lemon";

هشدار: اگر یک اندیس غیرمتوالی اضافه کنید، آرایه شامل مقادیر تعریف‌نشده (undefined) خواهد شد:

fruits[6] = "Lemon";

آرایه‌های انجمنی (Associative Arrays)

جاوااسکریپت از آرایه‌های انجمنی پشتیبانی نمی‌کند؛ آرایه‌ها باید از اندیس عددی استفاده کنند.

اگر از اندیس‌های متنی استفاده کنید، آرایه به شیء تبدیل شده و رفتارهای غیرمنتظره ایجاد می‌شود:

const person = [];
person["firstName"] = "John";
person["lastName"] = "Doe";
person.length; // 0

تفاوت آرایه‌ها و اشیاء

  • آرایه‌ها از اندیس‌های عددی استفاده می‌کنند.
  • اشیاء از اندیس‌های متنی استفاده می‌کنند.

مثال: آرایه

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

مثال: شیء

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

تشخیص آرایه

روش ۱: استفاده از Array.isArray:

Array.isArray(fruits); // true

روش ۲: استفاده از instanceof:

fruits instanceof Array; // true

آرایه‌های تو در تو (Nested Arrays) و اشیاء

آرایه‌ها می‌توانند شامل اشیاء یا آرایه‌های دیگر باشند:

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) {
  console.log(myObj.cars[i].name); // نمایش نام هر ماشین
  for (let j in myObj.cars[i].models) {
    console.log(myObj.cars[i].models[j]); // نمایش مدل‌ها
  }
}

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
JavaScript - ویژگی‌های عدد (Number Properties)

JavaScript – ویژگی‌های عدد (Number Properties)

در جاوااسکریپت، شیء Number شامل ویژگی‌هایی از پیش تعریف‌شده است که برای کار با اعداد مفید هستند. این ویژگی‌ها...

بیشتر بخوانید
JavaScript - متدهای عدد (Number Methods)

JavaScript – متدهای عدد (Number Methods)

در جاوا اسکریپت، متدهایی برای کار با اعداد ارائه شده‌اند که می‌توانند روی تمامی اعداد استفاده شوند. متدهای مربوط...

بیشتر بخوانید
JavaScript - اعداد بزرگ (BigInt)

JavaScript – اعداد بزرگ (BigInt)

متغیرهای BigInt در جاوااسکریپت برای ذخیره مقادیر عددی بسیار بزرگ استفاده می‌شوند که نمی‌توان آن‌ها را با نوع عددی...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.