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

ทางเลือก。กำหนดฟังก์ชันเพื่อกำหนดลำดับที่แทนที่ ฟังก์ชันนี้ควรส่งค่าลบ, 0 หรือบวก ตามประกาศ

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

เมื่อฟังก์ชัน sort() จัดลำดับค่าทั้งสอง จะส่งค่าไปยังฟังก์ชันเปรียบเทียบ และจัดลำดับค่าตามค่าที่ส่งกลับ (ลบ, 0, บวก)

ตัวอย่าง:

เมื่อเปรียบเทียบ 40 กับ 100 ฟังก์ชัน sort() จะเรียกฟังก์ชันเปรียบเทียบ (40, 100)

ฟังก์ชันนี้คำนวณ 40-100 และส่งค่า -60 (ค่าลบ) กลับ

ฟังก์ชัน sort() จะจัดลำดับ 40 ให้เล็กกว่า 100

รายละเอียดเทคโนโลยี

ค่าที่ส่งออกมา: เป้าหมาย Array ที่มีองค์ประกอบถูกจัดลำดับ
เวอร์ชั่น JavaScript: ECMAScript 1

สนับสนุนโดยเบราเรอร์

ทุกเบราเรอร์สนับสนุนเต็มที่ sort() วิธี:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
สนับสนุน สนับสนุน สนับสนุน สนับสนุน สนับสนุน สนับสนุน

หน้าที่เกี่ยวข้อง

ตัวอย่าง:JavaScript ตัวแปรแถว

ตัวอย่าง:JavaScript แบบเรียงลำดับ Const

ตัวอย่าง:วิธี JavaScript แบบเรียงลำดับ

ตัวอย่าง:การจัดเรียงตาราง JavaScript

ตัวอย่าง:การวิเคราะห์ JavaScript แบบเรียงลำดับ

คู่มือ:JavaScript Array.reverse() วิธี