متدهای آرایه

از ویکی‌کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
JavaScript-menu.png
موارد آموزشی
فرم‌ها در جاوا اسکریپت
اشیاء در جاوا اسکریپت
تابع در جاوا اسکریپت
HTML DOM در جاوا اسکریپت
Browser BOM در جاوا اسکریپت
AJAX در جاوا اسکریپت
JSON در جاوا اسکریپت
جی‌کوئری در برابر جاوا اسکریپت
مرجع جاوا اسکریپت

تبدیل آرایه ها به رشته های متنی (به انگلیسی: String)

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

مثال

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


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


نتیجه:

Banana,Orange,Apple,Mango

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

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

مثال

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


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


نتیجه:

Banana * Orange * Apple * Mango

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

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

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

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

حذف کردن

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

مثال

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


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


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

مثال

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


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


اضافه کردن

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

مثال

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


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


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

مثال

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


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


شیفت کردن عناصر

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

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

مثال

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


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


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

مثال

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


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


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

مثال

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


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


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

مثال

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


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


تغییر عناصر

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

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

مثال

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


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


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

مثال

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


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


حذف عناصر آرایه

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

مثال

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


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


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

Splice کردن یک آرایه

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

مثال

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


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


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

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

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

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

مثال

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


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


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

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

مثال

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


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


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

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

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

یکی کردن (به انگلیسی: Merging) آرایه ها

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

مثال (یکی‌کردن دو آرایه)

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


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


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

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

مثال (یکی‌کردن سه آرایه)

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


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


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

مثال (ترکیب مقادیر آرایه)

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


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


Slice کردن یک آرایه

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

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

مثال

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


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


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

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

مثال

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


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


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

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

مثال

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


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


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

مثال

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


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


متد toString() خودکار

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

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

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

مثال

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


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


مثال

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


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


تمام اشیاء (به انگلیسی: objects) در جاوا اسکریپت متد toString() را دارند.

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

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

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

مرتب سازی آرایه ها

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

مرجع کامل آرایه جاوا اسکریپت

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

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

تمرینات جاوا اسکریپت

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



منابع آموزشی