سبد (0)

متد sort

مثال (متد sort)

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

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();

خروجی fruits در کد بالا:

Apple,Banana,Mango,Orange

خودتان امتحان کنید »

در انتهای این صفحه، مثال های بیشتری آورده شده است.


تعریف و کاربرد

متد sort()، آیتم های یک آرایه را مرتب می کند.

مرتب شدن می تواند بر اساس حروف الفبا یا عدد باشد. مرتب شدن می تواند صعودی یا نزولی باشد.

به طور پیش فرض، متد sort()، آیتم ها را مانند رشته ها، طبق حروف الفبا و به طور صعودی مرتب می کند.

حالت پیش فرض، برای رشته ها به خوبی کار می کند(به عنوان مثال Apple قبل از banana می آید)، اما اگر اعداد مانند رشته ها مرتب شوند، به عنوان مثال  عدد 25 بزرگتر از عدد 100 در نظر گرفته می شود، زیرا 2(در 25) بزرگتر از 1(در 100) است.

به همین دلیل،استفاده از متد sort() بر روی اعداد باعث ایجاد یک نتیجه ی غیر صحیح می شود.

شما می توانید این مشکل را با ارائه دادن یک تابع مقایسه(compare function) رفع کنید.

نکته: این متد آرایه ی اصلی را تغییر می دهد.


پشتیبانی مرورگرها

اعداد داخل جدول زیر نشان دهنده ی اولین ورژن مرورگری است که به طور کامل از این رویداد پشتیبانی می کند.

متد     
sort() 1.0 5.5 1.0 بله بله

نحوه استفاده

array.sort(compareFunction)

مقادیر پارامترها

پارامترتوضیحات
compareFunction

اختیاری. یک تابع که یک ترتیب جدید را تعریف می کند. این تابع باید بسته به آرگومان هایش، یک مقدار منفی، یا 0 و یا مثبت را برگرداند، مانند:

  • function(a, b){return a-b}

هنگامی که متد sort()، دو مقدار را مورد مقایسه قرار می دهد، مقادیر را به تابع مقایسه می فرستد و بر اساس مقدار برگشتی از تابع مقایسه(مثبت، منفی، یا 0)، آیتم ها را مرتب می کند.

مثال:

هنگام مقایسه کردن 40 و 100، متد sort() تابع مقایسه را فراخوانی می کند.

تابع مقایسه 100-40 را حساب کرده و 60- را برمی گرداند(یک مقدار منفی).

تابع sort عدد 40 را در مرتب کردن کوچکتر از 100 قرار می دهد.

جزئیات تکنیکی

مقدار برگشتی

شیء آرایه که آیتم های آن مرتب شده اند.

نسخه JavaScript 1.1

مثال

مثال - خودتان امتحان کنید

مثال (متد sort)

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

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});

خروجی points در کد بالا:

1,5,10,25,40,100

خودتان امتحان کنید »

مثال (متد sort)

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

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});

خروجی points در کد بالا:

100,40,25,10,5,1

خودتان امتحان کنید »

مثال (متد sort)

گرفتن بزرگترین مقدار در یک آرایه:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});    // مرتب کردن اعداد در یک آرایه بصورت نزولی
//اولین آیتم در آرایه اکنون بزرگترین عدد است

خروجی points[0] برابر است با:

100

خودتان امتحان کنید »

مثال (متد sort)

گرفتن کوچکترین مقدار در یک آرایه:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});    // مرتب کردن اعداد در یک آرایه بصورت صعودی
//اولین آیتم در آرایه اکنون کوچکترین عدد است

خروجی points[0] برابر است با:

1

خودتان امتحان کنید »

مثال (متد sort)

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

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits.reverse();

خروجی fruits در کد بالا:

Orange,Mango,Banana,Apple

خودتان امتحان کنید »

مرجع آرایه ها در JavaScript مرجع آرایه ها در JavaScript


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