JavaScript Array toSorted()

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

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

toSorted() روش آرایه‌ی جدیدی را برمی‌گرداند.

toSorted() روش نمی‌تواند آرایه‌ی اصلی را تغییر دهد.

toSorted() روش است sort() نسخه‌ی کپی شده از روش.

لطفاً به:

روش sort() آرایه

روش reverse() آرایه

توابع مقایسه مرتب‌سازی

مرتب‌سازی حروفی برای رشته‌ها بسیار خوب است ("Apple" قبل از "Banana" قرار دارد).

اما، مرتب‌سازی اعداد ممکن است نتایج نادرستی تولید کند.

"25" از "100" بزرگتر است، زیرا "2" از "1" بزرگتر است.

می‌توان این مشکل را با ارائه "توابع مقایسه" حل کرد (مثال‌های زیر را ببینید).

مثال

مثال 1

// ایجاد یک آرایه
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// مرتب‌سازی آرایه
const fruits2 = fruits.toSorted();

آزمایش کنید

مثال 2

ترتیب بعد از مرتب‌سازی و بازگشت:

// ایجاد یک آرایه
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// مرتب‌سازی آرایه
const fruits2 = fruits.toSorted();
// بازگشت آرایه
fruits2.reverse();

آزمایش کنید

مثال 3

استفاده از توابع مرتب‌سازی برای مرتب‌سازی عددی به ترتیب افزایشی:

// ایجاد یک آرایه
const points = [40, 100, 1, 5, 25, 10];
// مرتب‌سازی آرایه
let points2 = points.toSorted(function(a, b){return a - b});

آزمایش کنید

مثال 4

مرتب‌سازی عددی به ترتیب کاهشی:

// ایجاد یک آرایه
const points = [40, 100, 1, 5, 25, 10];
// مرتب‌سازی آرایه
let points2 = points.toSorted(function(a, b){return b - a});

آزمایش کنید

مثال 5

جستجوی کوچکترین ارزش:

// ایجاد یک آرایه
const points = [40, 100, 1, 5, 25, 10];
// مرتب‌سازی عددی به ترتیب افزایشی
let points2 = points.toSorted(function(a, b){return a - b});
let lowest = points2[0];

آزمایش کنید

مثال 6

جستجوی بزرگترین ارزش:

// ایجاد یک آرایه
const points = [40, 100, 1, 5, 25, 10];
// مرتب‌سازی عددی به ترتیب کاهشی
let points2 = points.toSorted(function(a, b){return b - a});
let highest = points2[0];

آزمایش کنید

مثال 7

جستجوی بزرگترین ارزش:

// ایجاد یک آرایه
const points = [40, 100, 1, 5, 25, 10];
// مرتب‌سازی عددی به ترتیب افزایشی
let points2 = points.toSorted(function(a, b){return a - b});
let highest = points2[points.length - 1];

آزمایش کنید

رابط‌نویسی

array.sort(compareFunction)

پارامترها

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

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

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

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

مثال:

توابع مرتب‌سازی ارزش 40 را به عنوان کمتر از 100 در نظر می‌گیرند.

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

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

ارزش بازگشتی

نوع توضیح
Array آرایه جدید مرتب شده.

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

toSorted() این یک ویژگی ES2023 است.

از ماه ژوئیه 2023، تمام مرورگرهای مدرن از این روش پشتیبانی می‌کنند:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
ماه فوریه 2023 ماه فوریه 2023 ماه ژوئیه 2023 ماه مارس 2023 ماه مه 2023