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]); // نمایش مدلها
}
}
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام