متدهای آرایه

از موتو کد، دانشنامهٔ برنامه‌نویسی


تبدیل آرایه ها به رشته های متنی (String)[ویرایش | ویرایش]

متد toString() عناصر یک آرایه را به یک رشتهٔ متنی (که توسط ویرگول از یک دیگر جدا شده‌اند) تبدیل می‌کند. [۱]

مثال[ویرایش | ویرایش]

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


مشاهدهٔ نتیجه


نتیجه:

Banana,Orange,Apple,Mango

متد join() نیز تمامی عناصر آرایه را در یک رشتهٔ متنی String به هم الحاق می‌کند.

این متد همانند متد toString() رفتار می‌کند، اما در این متد شما می‌توانید جداکننده خود را نیز مشخص کنید:

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.join(" * ");


مشاهدهٔ نتیجه


نتیجه:

Banana * Orange * Apple * Mango

حذف و اضافه کردن یک عنصر به آرایه[ویرایش | ویرایش]

زمانی که شما با آرایه‌ها کار می‌کنید، حذف کردن عناصر و اضافه کردن عناصر جدید بسیار ساده است.

این کاری است که poping و pushing نامیده می‌شوند:

«حذف کردن عناصر» از یک آرایه pop کردن نامیده می‌شود، هل دادن یا «اضافه کردن یک عنصر» به یک آرایه push کردن نامیده می‌شود.

حذف کردن[ویرایش | ویرایش]

متد pop() آخرین عنصر از یک آرایه را حذف می‌کند:

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop();              // Removes the last element ("Mango") from fruits


مشاهدهٔ نتیجه


متد pop() مقداری را که حذف شده‌است را بازمی‌گرداند:

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.pop();      // the value of x is "Mango"


مشاهدهٔ نتیجه


اضافه کردن[ویرایش | ویرایش]

متد push() یک عنصر جدید را در یک آرایه (در آخر آرایه) اضافه می‌کند:

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi");       //  Adds a new element ("Kiwi") to fruits


مشاهدهٔ نتیجه


متد push() طول جدید یک آرایه را بازمی‌گرداند:

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.push("Kiwi");   //  the value of x is 5


مشاهدهٔ نتیجه


شیفت کردن عناصر[ویرایش | ویرایش]

شیفت کردن، شبیه pop کردن است با این تفاوت که به جای عنصر آخر، روی عنصر اول کار می‌کند.

متد shift() اولین عنصر آرایه را پاک می‌کند و تمامی سایر عناصر را به یک اندیس پایین‌تر شیفت می‌کند.

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift();            // Removes the first element "Banana" from fruits


مشاهدهٔ نتیجه


متد shift() رشتهٔ متنی ای را که شیفت شده‌است را بازمی‌گرداند:

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.shift();    // the value of x is "Banana"


مشاهدهٔ نتیجه


متد unshifts() یک عنصر جدید را به یک ارایه (در ابتدای آرایه) اضافه می‌کند، و سایر عناصر قدیمی را unshift می‌کند.

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon");    // Adds a new element "Lemon" to fruits


مشاهدهٔ نتیجه


متد unshifts() طول جدید آرایه را بازمی‌گرداند.

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon");    // Returns 5


مشاهدهٔ نتیجه


تغییر عناصر[ویرایش | ویرایش]

به عناصر آرایه با استفاده از اندیس عددیشان دسترسی پیدا می‌کنند:

اندیس عناصر در آرایه‌ها از صفر شروع می‌شود. [0] اولین عنصر آرایه است، [1] دومین عنصر آرایه است، [2] سومین عنصر آرایه است ...

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[0] = "Kiwi";        // Changes the first element of fruits to "Kiwi"


مشاهدهٔ نتیجه


ویژگی length یک راه ساده را برای اضافه کردن یک عنصر جدید به یک ارایه فراهم می‌کند:

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[fruits.length] = "Kiwi";          // Appends "Kiwi" to fruits


مشاهدهٔ نتیجه


حذف عناصر آرایه[ویرایش | ویرایش]

از آنجایی که آرایه‌های جاوا اسکریپت object یا شی هستند، عناصر آنها می‌تواند با استفاده از عملگر delete حذف شود:

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Apple", "Mango"];
delete fruits[0];           // Changes the first element in fruits to undefined


مشاهدهٔ نتیجه


استفاده از عملگر delete ممکن است موجب ایجاد خانه‌های خالی در یک آرایه شود. به جای این عملگر از shift() یا pop() استفاده کنید.

Splice کردن یک آرایه[ویرایش | ویرایش]

می‌توان از متد splice() برای اضافه کردن آیتم‌های جدید به یک آرایه استفاده کرد:

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 0, "Lemon", "Kiwi");


مشاهدهٔ نتیجه


پارامتر اول (۲) موقعیت محلی را که عنصر جدید باید اضافه (پیوند بخورد) شود را تعریف می‌کند.

پارامتر دوم (۰) مشخص می‌کند چه تعداد از عناصر می‌بایست حذف شوند.

بقیه پارامترها ("kiwi", "lemon") عنصر جدیدی را که می‌بایست اضافه شود را تعریف می‌کند.

متد splice() آرایه ای با عناصر حذف شده را برمی‌گرداند:

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 2, "Lemon", "Kiwi");


مشاهدهٔ نتیجه


استفاده از متد splice() برای حذف کردن عناصر[ویرایش | ویرایش]

با تنظیم صحیح پارامترهای متد، شما می‌توانید از متد splice() برای حذف عناصر آرایه استفاده کنید بدون اینکه خانه‌های خالی در آرایه مد نظر شما باقی بماند:

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(0, 1);        // Removes the first element of fruits


مشاهدهٔ نتیجه


پارامتر اول (۰) موقعیت محلی را که عنصر جدید باید اضافه (پیوند بخورد) شود را تعریف می‌کند.

پارامتر دوم (۱) مشخص می‌کند چه تعداد از عناصر می‌بایست حذف شوند.

سایر پارامترها مقدار دهی نشدند. عنصر جدیدی اضافه نخواهد شد.

یکی کردن (Merging) آرایه ها[ویرایش | ویرایش]

متد concat() یک آرایه جدید را با merge کردن یا یکی کردن آرایه‌های موجود می‌سازد:

مثال (یکی‌کردن دو آرایه)[ویرایش | ویرایش]

var myGirls = ["Cecilie", "Lone"];
var myBoys = ["Emil", "Tobias", "Linus"];
var myChildren = myGirls.concat(myBoys);   // Concatenates (joins) myGirls and myBoys


مشاهدهٔ نتیجه


متد concat() آرایه اصلی را تغییر نمی‌دهد. بلکه همیشه یک آرایه جدید را بازمی‌گرداند.

متد concat() می‌تواند هر تعدادی از آرایه‌ها را به عنوان آرگومان دریافت کند:

مثال (یکی‌کردن سه آرایه)[ویرایش | ویرایش]

var arr1 = ["Cecilie", "Lone"];
var arr2 = ["Emil", "Tobias", "Linus"];
var arr3 = ["Robin", "Morgan"];
var myChildren = arr1.concat(arr2, arr3);   // Concatenates arr1 with arr2 and arr3


مشاهدهٔ نتیجه


متد concat() می‌تواند مقادیری را هم به عنوان آرگومان قبول کند:

مثال (ترکیب مقادیر آرایه)[ویرایش | ویرایش]

var arr1 = ["Cecilie", "Lone"];
var myChildren = arr1.concat(["Emil", "Tobias", "Linus"]);


مشاهدهٔ نتیجه


Slice کردن یک آرایه[ویرایش | ویرایش]

متد slice() بخشی از یک آرایه را درون یک آرایه جدید جدا (Slice) می‌کند.

مثال زیر بخشی از آرایه را که از عنصر اول ("orange") شروع می‌شود را جدا می‌کند.

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1);


مشاهدهٔ نتیجه


متد slice() یک آرایه جدید می‌سازد. این متد هیچ‌یک از عناصر آرایه اصلی را پاک نمی‌کند.

مثال زیر بخشی از آرایه را که از عنصر سوم ("Apple") شروع می‌شود را جدا یا slice می‌کند.

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(3);


مشاهدهٔ نتیجه


متد slice() می‌تواند دو پارامتر ورودی همانند slice(1, 3) داشته باشد.

سپس متد عناصر را از نقطه آرگومان شروع به بعد (اما خود عنصر آخر را شامل نمی‌شود) تا عنصر آخر را انتخاب می‌کند.

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1, 3);


مشاهدهٔ نتیجه


اگر آرگومان آخر را ننویسیم، همانند مثال اول، متد slice() ادامه عناصر آرایه را Slice یا جدا می‌کند.

مثال[ویرایش | ویرایش]

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(2);


مشاهدهٔ نتیجه


متد toString() خودکار[ویرایش | ویرایش]

زمانی که از متد toString() استفاده نکنیم، جاوا اسکریپت به صورت خودکار یک آرایه را به یک رشته متنی که به وسیله ویرگول از یک دیگر جدا شده‌اند تبدیل می‌کند.

این امر همیشه زمانی که شما می‌خواهید یک آرایه را به عنوان خروجی داشته باشید، صدق می‌کند.

دو مثال زیر نتیجه یکسانی خواهند داشت:

مثال[ویرایش | ویرایش]

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


مشاهدهٔ نتیجه


مثال[ویرایش | ویرایش]

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


مشاهدهٔ نتیجه


تمام اشیاء (objects) در جاوا اسکریپت متد toString() را دارند.

پیدا کردن بیشترین و کمترین مقدار در یک آرایه[ویرایش | ویرایش]

هیچ تابع پیشفرضی در جاوا اسکریپت برای پیدا کردن بیشترین یا کمترین مقدار در یک آرایه وجود ندارد.

شما در فصل‌های آینده یاد خواهید گرفت که چگونه این مشکل را حل کنید.

مرتب سازی آرایه ها[ویرایش | ویرایش]

مرتب سازی آرایه‌ها در فصل بعدی این آموزش، توضیح داده شده‌اند.

مرجع کامل آرایه جاوا اسکریپت[ویرایش | ویرایش]

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

این مرجع شامل توضیحات و مثال‌هایی از تمام ویژگی‌های آرایه و متدهای آن است.

تمرینات جاوا اسکریپت[ویرایش | ویرایش]

Time2wait.svg ساخت نمونه مثال این بخش در دست اقدام است.



منابع آموزشی[ویرایش]