JavaScript Array sort()

تعریف و استفاده

sort() این روش آیتم‌های آرایه را مرتب می‌کند.

ترتیب مرتب‌سازی می‌تواند مطابق حروف یا اعداد باشد و می‌تواند مطابق افزایشی (به بالا) یا مطابق کاهشی (به پایین) باشد.

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

این برای رشته‌ها ("Apple" قبل از "Banana" قرار دارد) مناسب است. اما اگر اعداد به صورت رشته مرتب شوند، "25" بزرگتر از "100" است زیرا "2" بزرگتر از "1" است.

به همین دلیل،sort() این روش ممکن است در مرتب کردن اعداد نتایج نادرستی تولید کند.

شما می‌توانید با ارائه «توابع مقایسه‌ای» این مشکل را حل کنید (لطفاً به «ارزش‌های پارامترها» زیر مراجعه کنید).

توضیحات:sort() این روش باعث تغییر آرایه اصلی می‌شود.

مثال

مثال 1

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

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

آزمایش کنید

مثال 2

مطابق افزایشی اعداد موجود در آرایه را مرتب کنید:

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

آزمایش کنید

مثال 3

مطابق کاهشی اعداد موجود در آرایه را مرتب کنید:

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

آزمایش کنید

مثال 4

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

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

آزمایش کنید

مثال 5

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

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

آزمایش کنید

مثال 6

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

const points = [40, 100, 1, 5, 25, 10];
// مرتب کردن اعداد به ترتیب افزایشی:
points.sort(function(a, b){return a-b});
// points[points.length-1] = 100 (بزرگترین مقدار)

آزمایش کنید

مثال 7

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

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

آزمایش کنید

منطق

array.sort(compareFunction)

مقدار پارامتر

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

اختیاری. توابعی برای تعیین ترتیب جایگزین تعریف می‌کند. این توابع باید مقدار منفی، صفر یا مثبت بازگردانند، بسته به پارامترها، به عنوان مثال:

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

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

مثال:

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

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

توابع sort() 40 را به کمتر از 100 به ترتیب می‌گذارد.

جزئیات فنی

مقدار بازگشتی: آرایه‌ای که در آن عناصر مرتب شده‌اند.
نسخه JavaScript: ECMAScript 1

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

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

Chrome IE Edge Firefox Safari opera
Chrome IE Edge Firefox Safari opera
پشتیبانی پشتیبانی پشتیبانی پشتیبانی پشتیبانی پشتیبانی

صفحات مرتبط

آموزش:JavaScript آرایه

آموزش:عدد ثابت آرایه JavaScript

آموزش:روش‌های آرایه JavaScript

آموزش:ترتیب‌دهی آرایه‌های JavaScript

آموزش:تکرار آرایه‌های JavaScript

دستورالعمل:مетод reverse() آرایه JavaScript