آموزش آرایه ها Arrays در JavaScript
آرایه ها (جاوا اسکریپت)
چندین متغیر را در قالب تنها یک متغیر ذخیره می کنند یا به عبارتی دیگر آرایه یک متغیر خاص است که می توانید به طور همزمان چندین مقدار (بیش از یک مقدار) را در آن ذخیره نمایید.
در این بخش با استفاده از یک اسکریپت، آرایه ها را داخل تگ <p> با شناسه “demo”نمایش می دهیم.
همان طور که در مثال زیر مشاهده می کنید، اولین خط ، آرایه ای به نام cars ایجاد می کند.
دومین خط المانی که شناسه ی آن “demo”می باشد را یافته سپس آرایه را در “innerHTML” آن المان نمایش می دهد.
مثال:
<p id=”demo”>Porsche,Bentley,BMW</p>
;var cars = [“Porsche”, “Bentley”, “BMW”]
;document.getElementById(“demo”) = cars
مثال۲:
;var cars = [“Ferrari”, “Benz”, “Mitsubishi”]
فاصله و انتهای خط (line break) از هیچ اهمیتی برخوردار نیستند. یک تعریف (declaration) می تواند در چندین خط ادامه داشته باشد.
مثال۳:
] = var cars
,”Porsche”
,”Ferrari”
“Mitsubishi”
;[
توجه:
هیچ گاه پس از آخرین المان (در مثال بالا “Mitsubishi“) ویرگول قرار ندهید، زیرا ممکن است در مرورگرهای مختلف نتایج متفاوتی ارائه دهد.
آرایه چیست ؟
شی آرایه یک نوع خاص از متغیر هاست که می تواند چندین داده را در قالب یک نام در خود ذخیره کند. آرايه مجموعه ای از متغيرهایی از يک نوع داده ای با نام يکسان است، که هر کدام از اعضای آن توسط يک شمارنده یا شاخص (index)، از يکديگر تمایز داده می شوند.
به عنوان مثال فرض کنید فهرستی از اقلام یا آیتم ها (برای مثال لیستی از اسم ماشین ها) را دارید که هر یک در متغیر ی مجزا ذخیره می گردد.
var car1 = “Porsche”
var car2 = “Ferrari”
var car3 = “Mitsubishi”
چنانچه بخواهیم درون آیتم های فوق حلقه زده (آن ها را تکرار کرده) و ماشین مورد نظر را پیدا کنیم چه اتفاقی رخ می دهد؟ اگر تعداد ماشین ها ۳ تا نه بلکه ۳۰۰ تا بود چه اتفاقی رخ می داد؟
این مسئله با بهره گیری از آرایه حل می شود.
یک آرایه همان طور که پیش تر ذکر کردیم قادر است چندین مقدار را تحت نام یکسان در خود ذخیره کرده و از طریق اندیس به آن مقادیر دسترسی پیدا کند.
ایجاد آرایه
استفاده از یک آرایه ی متنی (array literal) بهترین و نیز آسان ترین روش برای ایجاد یک آرایه ی جاوا اسکریپت می باشد.
دستور نگارش (syntax)
var array-name = [item1, item2, …];
مثال:
var cars = [“Porsche”, “Ferrari”, “Mitsubishi”];
استفاده از کلید واژه ی new
مثال زیر نیز یک آرایه ایجاد کرده و به آن مقادیری را تخصیص می دهد:
;var cars = new Array(“Porsche”, “Ferrari”, “Mitsubishi”)
نکته:
دو مثال بالا هر دو یک کار یکسان را انجام می دهند. نیازی به استفاده از ()new Array وجود ندارد. برای آسانی، قابلیت خوانایی بیشتر و نیز افزایش سرعت اجرا توصیه می کنیم از نمونه ی اول استفاده کنید.
دسترسی به المان های آرایه
برای دسترسی به المان مورد نظر در آرایه از شماره ی اندیس کمک می گیریم.
دستور زیر نحوه ی دسترسی به مقدار اولین المان را نمایش می هد:
var name = cars[0];
دستور زیر اولین المان را اصلاح می کند:
;cars[0] = “Alfa Romeo”
توجه:
دقت داشته باشید که [۰] اولین المان محسوب می گردد و [۱] دومین شمارنده ی آرایه ها در جاوا اسکریپت میباشد.
خواص property ها (خواص) و method های (توابع) مربوط به آرایه
اگر به مثال زیر دقت کنید متوجه می شوید که length property تعداد المان های موجود در cars را برمی گرداند و تابع ()cars ، sort را به ترتیب حروف الفبا مرتب سازی (sort) می کند:
var x = cars.length; // The length property returns the number of elements in cars
var y = cars.sort(); // The sort() method sort cars in alphabetical order
تشریح خاصیت length
دستور length property یک آرایه، طول یا تعداد المان های موجود در یک آرایه را باز گردانی می کند.
مثال:
;var fruits = [“Banana”, “Orange”, “Apple”, “Mango”]
fruits.length; // the length of fruits is 4
افزودن المان جدید به یک آرایه
آسان ترین روش برای افزورن یک element جدید به آرایه، استفاده از تابع (method) push می باشد.
مثال:
;var fruits = [“Banana”, “Orange”, “Apple”, “Mango”]
fruits.push(“Lemon”); // adds a new element (Lemon) to fruits
ایجاد یک حلقه در آرایه (تکرار المان های یک آرایه به تعداد دفعات معین)
در loop for مجموعه دستورالعمل ها به تعداد معلوم و مورد نياز، تکرار می شوند. یکی از بهترین روش های تکرار المان های یک آرایه استفاده از حلقه ی بیان شده است.
مثال:
;var index
;var fruits = [“Banana”, “Orange”, “Apple”, “Mango”]
} for (index = 0; index < fruits.length; index++)
;text += fruits[index]
{
نکته: در جاوا اسکریپت آرایه ها از اندیس های شماره دار استفاده می کنند.
اشیا (object) نیز از اندیس های نام دار (named indexes) استفاده می کنند.
چه زمانی باید از array استفاده کرد و چه زمانی از object؟
جاوا سکرپیت JavaScript از آرایه های شرکت پذیر (associative array) پشتیبانی نمی کند.
اگر می خواهید اسم المان ها از نوع رشته (نوشته یا متن) باشد، در آن صورت به طور حتم باید از object استفاده کنید.
چنانچه مایلید اسم المان از نوع عددی یا شماره باشد، باید از Array استفاده کنید.
تا حد ممکن سعی کنید از بکار گیری constructor (سازنده) پیش فرض و توکار ()JavaScript،new Array خودداری کنید.
بجای استفاده از روش منسوخ بالا می توانید از روش نوین [] بهره بگیرید.
هر دو دستور کاملا متفاوت نام برده، آرایه ای تهی به نام points ایجاد می کنند.
چگونه یک آرایه را تشخیص دهیم؟
} function isArray(myArray)
{;return myArray.constructor.toString().indexOf(“Array”) > -1
تابع function (تابع) بالا همیشه در صورتی که آرگومان مورد نظر یک آرایه باشد، مقدار true باز می گرداند و یا اگر بخواهیم دقیق تر توضیح بدیم اگر نوع ورودی تابع از نوع “[object array]” باشد مقدار صحیح (true) برمی گرداند.
برای مشاهده آموزش دستورات if else در JS کلیک کنید
همچنین داریم دستورات ایجاد شئ date کلیک کنید