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

از ویکی کد
پرش به ناوبری پرش به جستجو
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 ساخت نمونه مثال این بخش در دست اقدام است.


منابع آموزشی