021-28423015

آرایه ها در JavaScript

آرایه های جاوا اسکریپت برای ذخیره چندین متغیر در یک متغیر استفاده می شوند.

آرایه
 var cars = ["Saab", "Volvo", "BMW"]; 
مشاهده مثال

آرایه چیست؟

آرایه یک متغیر خاص است که می تواند بیش از یک مقدار را در یک زمان نگه دارد.
اگر شما یک لیست از اقلام (به عنوان مثال یک لیست از نام خودرو) داشته باشید، ذخیره سازی خودروها در متغیرهای واحد می تواند به صورت زیر باشد:

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

با این حال، اگر بخواهید از طریق اتومبیل حلقه بزنید و یک خاصیت پیدا کنیدراه حل یک آرایه است!
یک آرایه می تواند مقادیر زیادی را با یک نام نگه دارد، و شما می توانید با ارجاع به یک عدد شاخص به مقادیر دسترسی داشته باشید.

ایجاد یک آرایه

با استفاده از یک آرگومان آرایه ، ساده ترین راه ایجاد یک آرایه در جاوااسکریپت است.
ساختار:

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

ایجاد آرایه
var cars = ["Saab", "Volvo", "BMW"];
مشاهده مثال

فضاهای و خطوط شکسته مهم نیستند. یک اعلامیه می تواند خطوط چندگانه داشته باشد:

آرایه در چند خط
var cars = [
    "Saab",
    "Volvo",
    "BMW"
]; 
مشاهده مثال

قرار دادن کاما بعد از آخرین عنصر (مانند "BMW")، در مرورگرها متناقض است.
IE 8 و قبل از آن قبول نخواهد کرد.

با استفاده از کلید واژه جدید جاوا اسکریپت

مثال زیر نیز یک آرایه ایجاد می کند و مقادیر را به آن اختصاص می دهد:

کلیدواژه آرایه
var cars = new Array("Saab", "Volvo", "BMW");
مشاهده مثال

دو نمونه فوق دقیقا همانند هستند. نیازی به استفاده از Array جدید وجود ندارد ().
برای سادگی، خوانایی و سرعت اجرای، از اولین (روش متمایز آرایه) استفاده کنید.

دسترسی به عناصر یک آرایه

شما با ارجاع به شماره شاخص به یک عنصر آرایه اشاره می کنید.
این بیانیه به ارزش اولین عنصر در اتومبیل دسترسی پیدا می کند:

var name = cars[0];

این بیانیه اولین عنصر در اتومبیل را اصلاح می کند:

cars[0] = "Opel";

دسترسی به آرایه
var cars = ["Saab", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars[0]; 
مشاهده مثال

نکته: [0] اولین عنصر در یک آرایه است. [1] دوم است شاخص های آرایه با 0 شروع می شوند.

دسترسی کامل به آرایه

با جاوا اسکریپت، آرایه کامل می تواند با ارجاع به نام آرایه قابل دسترسی باشد:

دسترسی کامل به آرایه
var cars = ["Saab", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars;
مشاهده مثال

آرایه ها اشیاء هستند

آرایه ها یک نوع خاص از اشیا هستند. عملگر typeof در جاوا اسکریپت، "شی" را برای آرایه ها باز می گرداند.
اما، آرایه های جاوا اسکریپت بیشتر به عنوان آرایه ها توصیف می شوند.
آرایه ها برای دسترسی به عناصر خود از اعداد استفاده می کنند. در این مثال، person[0] نتیجه John را می دهد:

شی ارایه
var person = ["John", "Doe", 46];
مشاهده مثال

اشیاء برای دسترسی به "اعضا" از نام استفاده می کنند. در این مثال، person.firstName  نتیجه جان را برمی گرداند

شی ارایه
var person = {firstName:"John", lastName:"Doe", age:46};
مشاهده مثال

عناصر آرایه می توانند اشیا باشند

متغیرهای جاوا اسکریپت می توانند اشیا باشند آرایه ها انواع خاصی از اشیا هستند.
به همین دلیل شما می توانید متغیرهایی از انواع مختلف در همان آرایه داشته باشید.
شما می توانید اشیاء را در آرایه داشته باشید. شما می توانید توابع در آرایه داشته باشید. شما می توانید آرایه ها را در آرایه داشته باشید

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

خواص آرایه و متد ها

قدرت واقعی آرایه های جاوااسکریپت ویژگی های آرایه و روش های ساخته شده است:

var x = cars.length; // The length property returns the number of elements
var y = cars.sort(); // The sort() method sorts arrays

روش های آرایه در فصل های بعدی پوشش داده می شوند.

طول ویژگی (تعداد خصوصیات ارایه)

خصوصیات طول یک آرایه (تعداد عناصر آرایه) را نشان می دهد.

 

طول خاصیت
 var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.length;                       // the length of fruits is 4 
مشاهده مثال

حلقه عناصر آرایه

بهترین راه برای حل کردن آرایه، استفاده از حلقه "for" است:

حلقه تکرار
var fruits, text, fLen, i;

fruits = ["Banana", "Orange", "Apple", "Mango"];
fLen = fruits.length;
text = "<ul>";
for (i = 0; i < fLen; i++) {
    text += "<li>" + fruits[i] + "</li>";
}
مشاهده مثال

اضافه کردن عناصر آرایه

ساده ترین راه برای اضافه کردن یک عنصر جدید به آرایه، استفاده از روش فشار است:

اضافه کردن آرایه
 var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Lemon");                // adds a new element (Lemon) to fruits 
مشاهده مثال

عنصر جدید نیز می تواند به یک آرایه با استفاده از طول آرایه اضافه شود:

طول آرایه
 var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[fruits.length] = "Lemon";     // adds a new element (Lemon) to fruits 
مشاهده مثال

هشدار!
اضافه کردن عناصر با شاخص های بالا می تواند مشکلی نامشخص در آرایه ایجاد کند:

اشکال در طول ارایه
 var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[6] = "Lemon";                 // adds a new element (Lemon) to fruits 
مشاهده مثال

آرایه های انجمنی

بسیاری از زبان های برنامه نویسی آرایه ها را با شاخص ها پشتیبانی میکنند.

آرایه ها با نام های شاخص آرایه های انجمنی (یا هش ها) نامیده می شوند.

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

در جاوا اسکریپت، آرایه ها همیشه از شاخص های عددی استفاده می کنند.

آرایه های انجمنی
 var person = [];
person[0] = "John";
person[1] = "Doe";
person[2] = 46;
var x = person.length;         // person.length will return 3
var y = person[0];             // person[0] will return "John" 
مشاهده مثال

هشدار!
اگر از شاخص ها نام استفاده می کنید، جاوا اسکریپت آرایه را به شیء استاندارد باز تعریف می کند.
پس از آن، برخی از روش ها و خواص آرایه نتایج اشتباهی را تولید خواهند کرد.

آرایه های انجمنی
 var person = [];
person["firstName"] = "John";
person["lastName"] = "Doe";
person["age"] = 46;
var x = person.length;         // person.length will return 0
var y = person[0];             // person[0] will return undefined 
مشاهده مثال

تفاوت بین آرایه ها و اشیاء

در جاوا اسکریپت، آرایه ها از شاخص های عددی استفاده می کنند.
در جاوا اسکریپت، اشیاء به عنوان شاخص استفاده می شود.

نکته: آرایه ها یک نوع خاص از اشیاء هستند که دارای شاخص های عددی هستند.

هنگام استفاده از آرایه ها. هنگام استفاده از اشیاء

  • جاوا اسکریپت از آرایه های انجمنی پشتیبانی نمی کند.
  • شما باید از اشیاء استفاده کنید، زمانی که می خواهید نام عنصر را رشته (متن) باشد.
  • شما می بایست از آرایه ها استفاده کنید، زمانی که می خواهید نام عنصر اعداد باشد.

اجتناب از آرایه جدید ()

نیازی نیست که از آرایه Array جدید () ساخته شده در آرایه ی جاوا اسکریپت استفاده کنید.
به جای آن از [] استفاده کنید.

var points = new Array(); // Bad
var points = []; // Good


این دو عبارت مختلف، هر دو یک آرایه جدید حاوی 6 عدد ایجاد می کنند:

اجتناب از آرایه
 var points = new Array(40, 100, 1, 5, 25, 10); // Bad
var points = [40, 100, 1, 5, 25, 10];          // Good 
مشاهده مثال

کلید واژه جدید تنها کد را پیچیده می کند. همچنین می تواند نتایجی غیر منتظره ای ایجاد کند:

var points = new Array(40, 100); // Creates an array with two elements (40 and 100)

اگر یکی از عناصر را حذف کنم چه می شود؟

اجتناب از آرایه
 var points = new Array(40);       // Creates an array with 40 undefined elements !!!!! 
مشاهده مثال

چگونه یک آرایه را شناسایی کنیم

سوال رایج این است: چگونه میتوانم بدانم که آیا یک متغیر آرایه است؟
مشکل این است که نوع عملگرtypeof  عملگر "شی" را باز می کند:

چگونه یک آرایه را شناسایی کنیم
 var fruits = ["Banana", "Orange", "Apple", "Mango"];

typeof fruits;             // returns object 
مشاهده مثال

عملگر typeof را برمی گرداند، زیرا یک آرایه جاوااسکریپت یک شی است.

راه حل 1:

برای حل این مشکل، ECMAScript 5 یک روش جدید Array.isArray () را تعریف می کند:

راه حل 1
 Array.isArray(fruits);     // returns true 
مشاهده مثال

مشکل این راه حل این است که ECMAScript 5 در مرورگرهای قدیمی پشتیبانی نمی شود.

راه حل 2:

برای حل این مشکل می توانید تابع isArray () خود را ایجاد کنید:

راه حل 2
function isArray(x) {
    return x.constructor.toString().indexOf("Array") > -1;
} 
مشاهده مثال

اگر آرگومان یک آرایه باشد، تابع بالا همیشه درست خواهد شد.
یا دقیق تر: اگر نمونه اولیه شیء حاوی کلمه "Array" باشد، درست می شود.

راه حل 3:

عملگر instanceof اگر یک شی توسط یک سازنده داده شده درست true را برمی گرداند:

راه حل 3
 var fruits = ["Banana", "Orange", "Apple", "Mango"];

fruits instanceof Array     // returns true 
مشاهده مثال

 


نظر شما

لطفا نام و نام خانوادگی خود را وارد کنید
لطفا ایمیل خود را وارد کنید لطفا ایمیل صحیح وارد کنید.
لطفا متن نظر خود را وارد کنید
>

یادگیری JavaScript

مقالات و دروس

عضویت در خبرنامه شرکت نرم افزاری وب مهراز

برای اطلاع از بسته ها ، تخفیف های استثنایی و تازه های ما به خبرنامه وب مهراز بپیوندید.

لطفا شماره همراه صحیح وارد کنید.
لطفا ایمیل صحیح وارد کنید.

مقالات مرتبط