ตัวอย่าง
เรียงอาร์เรย์:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
ผลของผลไม้จะเป็น:
Apple,Banana,Mango,Orange
ลองตัวเอง» เพิ่มเติม "Try it Yourself" ตัวอย่างด้านล่าง
ความหมายและการใช้งาน
sort() วิธีการเรียงลำดับรายการของอาร์เรย์
การเรียงลำดับสามารถเป็นได้ทั้งตัวอักษรหรือตัวเลขและทั้งจากน้อยไปมาก (up) หรือมากไปน้อย (down)
โดยค่าเริ่มต้น sort() วิธีการเรียงลำดับค่าเป็นสตริงตามลำดับตัวอักษรและจากน้อยไปมาก
นี้ทำงานได้ดีสำหรับสตริง ("Apple" comes before "Banana") แต่ถ้าตัวเลขจะถูกเรียงเป็นสตริง, "25" มีขนาดใหญ่กว่า "100" เพราะ "2" มีขนาดใหญ่กว่า "1"
ด้วยเหตุนี้การ sort() วิธีการจะผลิตผลลัพธ์ไม่ถูกต้องเมื่อเรียงลำดับหมายเลข
คุณสามารถแก้ไขปัญหานี้โดยการให้ "compare function" (โปรดดู "Parameter Values" ด้านล่าง)
Note: วิธีการนี้จะเปลี่ยนอาร์เรย์เดิม
สนับสนุนเบราว์เซอร์
ตัวเลขในตารางระบุราว์เซอร์รุ่นแรกที่สนับสนุนอย่างเต็มที่วิธีการ
วิธี | |||||
---|---|---|---|---|---|
sort() | ใช่ | ใช่ | ใช่ | ใช่ | ใช่ |
วากยสัมพันธ์
ค่าพารามิเตอร์ พารามิเตอร์ ลักษณะ compareFunction ไม่จำเป็น. ฟังก์ชั่นที่กำหนดลำดับการจัดเรียงทางเลือก ฟังก์ชั่นควรกลับเชิงลบศูนย์หรือค่าบวกขึ้นอยู่กับข้อโต้แย้งเช่น: - function(a, b) {} กลับ AB
เมื่อ sort() วิธีการเปรียบเทียบสองค่าก็จะส่งค่าไปยังฟังก์ชันเปรียบเทียบและเรียงลำดับค่าให้เป็นไปตามกลับมา (ลบศูนย์บวก) มูลค่า
ตัวอย่าง:
เมื่อเปรียบเทียบ 40 และ 100 การ sort() วิธีการเรียกเปรียบเทียบ function(40,100)
ฟังก์ชั่นคำนวณ 40-100 และผลตอบแทน -60 (a negative value)
ฟังก์ชั่นการเรียงลำดับจะเรียงลำดับ 40 เป็นค่าต่ำกว่า 100
รายละเอียดทางเทคนิค
กลับค่า: วัตถุอาร์เรย์กับรายการที่เรียงลำดับ JavaScript เวอร์ชัน: 1.1

ตัวอย่างอื่น ๆ
ตัวอย่าง
หมายเลขเรียงในอาร์เรย์ในลำดับต่อไปนี้:
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
ผลของจุดที่จะได้รับ:
1,5,10,25,40,100 ลองตัวเอง»
ตัวอย่าง
หมายเลขเรียงในอาร์เรย์ในการสั่งซื้อจากมากไปน้อยคือ:
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});
ผลของจุดที่จะได้รับ:
100,40,25,10,5,1 ลองตัวเอง»
ตัวอย่าง
ได้รับค่าสูงสุดในอาร์เรย์:
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return
b-a}); // Sort the numbers in the array in descending
order
// The first item in the array (points[0]) is now the
highest value
ผลของจุด [0] จะเป็น:
100 ลองตัวเอง»
ตัวอย่าง
ได้รับค่าต่ำสุดในอาร์เรย์:
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return
a-b}); // Sort the numbers in the array in ascending order
//
The first item in the array (points[0]) is now the lowest
value
ผลของจุด [0] จะเป็น:
1 ลองตัวเอง»
ตัวอย่าง
เรียงแถวตามลำดับตัวอักษรแล้วกลับคำสั่งของรายการที่เรียง (descending) :
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits.reverse();
ผลของผลไม้จะเป็น:
Orange,Mango,Banana,Apple ลองตัวเอง»
<อ้างอิงอาร์เรย์ JavaScript