JavaScript Array toSorted()

คำนิยามและวิธีใช้

toSorted() วิธีเรียงลำดับชุดของตัวแปลตามลำดับอักษร

toSorted() วิธีกลับคืนตัวแปลใหม่

toSorted() วิธีไม่ได้เข้าใจรายการตัวเริ่มต้น

toSorted() วิธีเป็น sort() สำเนาของวิธี

ดูเพิ่มเติม:

วิธี sort() ของ Array

วิธี reverse() ของ Array

ฟังก์ชันเปรียบเทียบการเรียง

การเรียงลำดับตามอักษรดำเนินการดีสำหรับตัวอักษร ("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(define ฟังก์ชันเรียงลำดับ)

ตัวแปร

ตัวแปร รายละเอียด
define ฟังก์ชันเรียงลำดับ

ทางเลือก

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