อย่างไรก็ตามเราจะพบปัญหาที่ใช้ วิธีการเรียงลำดับอาร์เรย์ที่นี่ไม่ได้เรียงตามขนาดตัวเลขที่เราจินตนาการ แต่เปลี่ยนข้อมูลต้นฉบับตามผลการทดสอบสตริง นี่ไม่ใช่สิ่งที่เราต้องการ
ดังนั้นเราจะได้รับสิ่งที่เราต้องการจัดเรียงตามขนาดจำนวนในใจของเราได้อย่างไร? เราสามารถเขียนฟังก์ชั่นเพื่อนำไปใช้เอง
การคัดลอกรหัสมีดังนี้:
ค่า var = [0, 1, 5, 10, 15];
// ฟังก์ชัน ASC ASC
ฟังก์ชันเปรียบเทียบ (ค่า 1, value2) {
if (value1> value2) {
กลับ 1;
} อื่นถ้า (ค่า 1 <ค่า 2) {
กลับ -1;
} อื่น {
กลับ 0;
-
-
// ฟังก์ชั่น Desc จากมากไปน้อย
ฟังก์ชั่นเปรียบเทียบ (ค่า 1, value2) {
if (value1> value2) {
กลับ -1;
} อื่นถ้า (ค่า 1 <ค่า 2) {
กลับ 1;
} อื่น {
กลับ 0;
-
-
value.sort (เปรียบเทียบ);
console.log (ค่า); // [0, 1, 5, 10, 15]
Values.sort (เปรียบเทียบ);
console.log (ค่า); // [15, 10, 5, 1, 0]