متد sort
مثال (متد sort)
مرتب کردن عناصر یک آرایه:
fruits.sort();
خروجی fruits در کد بالا:
خودتان امتحان کنید »
در انتهای این صفحه، مثال های بیشتری آورده شده است.
تعریف و کاربرد
متد sort()، آیتم های یک آرایه را مرتب می کند.
مرتب شدن می تواند بر اساس حروف الفبا یا عدد باشد. مرتب شدن می تواند صعودی یا نزولی باشد.
به طور پیش فرض، متد sort()، آیتم ها را مانند رشته ها، طبق حروف الفبا و به طور صعودی مرتب می کند.
حالت پیش فرض، برای رشته ها به خوبی کار می کند(به عنوان مثال Apple قبل از banana می آید)، اما اگر اعداد مانند رشته ها مرتب شوند، به عنوان مثال عدد 25 بزرگتر از عدد 100 در نظر گرفته می شود، زیرا 2(در 25) بزرگتر از 1(در 100) است.
به همین دلیل،استفاده از متد sort() بر روی اعداد باعث ایجاد یک نتیجه ی غیر صحیح می شود.
شما می توانید این مشکل را با ارائه دادن یک تابع مقایسه(compare function) رفع کنید.
نکته: این متد آرایه ی اصلی را تغییر می دهد.
پشتیبانی مرورگرها
اعداد داخل جدول زیر نشان دهنده ی اولین ورژن مرورگری است که به طور کامل از این رویداد پشتیبانی می کند.
متد | |||||
---|---|---|---|---|---|
sort() | 1.0 | 5.5 | 1.0 | بله | بله |
نحوه استفاده
مقادیر پارامترها
پارامتر | توضیحات |
---|---|
compareFunction |
اختیاری. یک تابع که یک ترتیب جدید را تعریف می کند. این تابع باید بسته به آرگومان هایش، یک مقدار منفی، یا 0 و یا مثبت را برگرداند، مانند:
هنگامی که متد sort()، دو مقدار را مورد مقایسه قرار می دهد، مقادیر را به تابع مقایسه می فرستد و بر اساس مقدار برگشتی از تابع مقایسه(مثبت، منفی، یا 0)، آیتم ها را مرتب می کند. مثال: هنگام مقایسه کردن 40 و 100، متد sort() تابع مقایسه را فراخوانی می کند. تابع مقایسه 100-40 را حساب کرده و 60- را برمی گرداند(یک مقدار منفی). تابع sort عدد 40 را در مرتب کردن کوچکتر از 100 قرار می دهد. |
جزئیات تکنیکی
مقدار برگشتی |
شیء آرایه که آیتم های آن مرتب شده اند. |
---|---|
نسخه JavaScript | 1.1 |
مثال - خودتان امتحان کنید
مثال (متد sort)
مرتب کردن اعداد در یک آرایه بصورت صعودی:
points.sort(function(a, b){return a-b});
خروجی points در کد بالا:
خودتان امتحان کنید »
مثال (متد sort)
مرتب کردن اعداد در یک آرایه بصورت نزولی:
points.sort(function(a, b){return b-a});
خروجی points در کد بالا:
خودتان امتحان کنید »
مثال (متد sort)
گرفتن بزرگترین مقدار در یک آرایه:
points.sort(function(a, b){return b-a}); // مرتب کردن اعداد در یک آرایه بصورت نزولی
//اولین آیتم در آرایه اکنون بزرگترین عدد است
خروجی points[0] برابر است با:
خودتان امتحان کنید »
مثال (متد sort)
گرفتن کوچکترین مقدار در یک آرایه:
points.sort(function(a, b){return a-b}); // مرتب کردن اعداد در یک آرایه بصورت صعودی
//اولین آیتم در آرایه اکنون کوچکترین عدد است
خروجی points[0] برابر است با:
خودتان امتحان کنید »
مثال (متد sort)
مرتب کردن آرایه بر اساس حروف الفبا، و سپس معکوس کردن ترتیب عناصر مرتب شده(بصورت نزولی):
fruits.sort();
fruits.reverse();
خروجی fruits در کد بالا:
خودتان امتحان کنید »
- نوشته شده توسط احسان عباسی
- بازدید: 11299
دیدگاهها
عالی بود . خدا قوت