آرایه ها (Arrays)
آرایه جاوااسکریپت مثل کشوی مدادهاست. چند چیز را کنار هم می گذارد. «آرایه (Array)» یعنی مجموعه مرتب از مقدارها. هر مقدار را با «اندیس (Index)» شماره گذاری می کنیم.
ساخت آرایه با لیترال []
ساده ترین روش ساخت آرایه، لیترال است. یعنی از براکت استفاده کن.
const cars = ["Saab", "Volvo", "BMW"];
نکته: معمولاً با const آرایه می سازیم. چون خود آرایه می ماند؛ محتوا تغییر می کند.
تهی ساختن و بعداً پُر کردن
می توانی آرایه خالی بسازی. سپس مقدارها را جدا اضافه کن.
const cars = [];
cars[0] = "Saab";
cars[1] = "Volvo";
cars[2] = "BMW";
روش new Array() و هشدارها
این روش هم کار می کند؛ اما پیشنهاد نمی شود. خوانایی کمتر است.
const cars = new Array("Saab", "Volvo", "BMW");
هشدار: new Array(40) آرایه ای با 40 خانه تهی می سازد. اما [40] یک عنصر با مقدار 40 است.
const a = new Array(40);
const b = [40];
دسترسی و تغییر عنصر
اندیس از صفر شروع می شود. عنصر اول اندیس صفر دارد.
const cars = ["Saab", "Volvo", "BMW"];
let first = cars[0];
cars[0] = "Opel";
نکته: عنصر آخر با arr[arr.length - 1] قابل دسترسی است.
const fruits = ["Banana", "Orange", "Apple", "Mango"];
let last = fruits[fruits.length - 1];
طول آرایه و افزودن عنصر
طول با length است. افزودن با push() ساده است.
const fruits = ["Banana", "Orange", "Apple"];
let len = fruits.length;
fruits.push("Lemon");
fruits[fruits.length] = "Kiwi";
هشدار: پرش اندیس بزرگ «حفره undefined» می سازد و کار را سخت می کند.
const fruits = ["Banana", "Orange", "Apple"];
fruits[6] = "Lemon";
حلقه روی آرایه
می توانی با for یا forEach بچرخی و نمایش بدهی.
const fruits = ["Banana", "Orange", "Apple", "Mango"];
let text = "<ul>";
for (let i = 0; i < fruits.length; i++) {
text += "<li>" + fruits[i] + "</li>";
}
text += "</ul>";
const fruits = ["Banana", "Orange", "Apple", "Mango"];
let text = "<ul>";
fruits.forEach(function myFunction(value) {
text += "<li>" + value + "</li>";
});
text += "</ul>";
آرایه شیء است؛ ولی اندیسی است
آرایه «شیء (Object)» است؛ اما با عدد آدرس می دهیم. شیء معمولی با نام آدرس می دهد.
const personArray = ["John", "Doe", 46];
const personObject = { firstName: "John", lastName: "Doe", age: 46 };
هشدار: «آرایه انجمنی» در جاوااسکریپت وجود ندارد. نام گذاری اندیس، آرایه را به شیء تبدیل می کند.
const person = [];
person["firstName"] = "John";
person.length;
// length برابر 0 می شود.
person[0];
// undefined برمی گردد.
تشخیص آرایه بودن
typeof برای آرایه، object می دهد. پس از روش های مطمئن استفاده کن.
const fruits = ["Banana", "Orange", "Apple"];
const a = Array.isArray(fruits);
const b = (fruits instanceof Array);
جمع بندی سریع
- از [] استفاده کن؛ ساده و امن تر است.
- اندیس از صفر شروع می شود.
- برای افزودن، push() عالی است.
- آرایه انجمنی وجود ندارد.
- تشخیص آرایه با Array.isArray مطمئن است.
آرایه ها در جاوااسکریپت | متدهای پایه آرایه | حلقه های آرایه