สมมติว่าเรามีอาร์เรย์ของสตริงเช่นนี้ −
const arr =[ '.0', '.1', '.2', '.4', '.2.1', '.3', '.4.1', '.5', '.5.1' .5' ];
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ดังกล่าว หน้าที่ของเราควรจัดเรียงอาร์เรย์ในลำดับที่เพิ่มขึ้น (ตามที่คนธรรมดาเห็น)
ซึ่งหมายความว่าสตริงที่มี '.0' ตามด้วย '.1' ตามด้วย '.2' เป็นต้น ดังนั้น หลังจากจัดเรียงแล้ว อาร์เรย์ควรมีลักษณะดังนี้ −
คอนสตเอาท์ =[ '.0', '.1', '.2.1', '.2, '.3', '.4', '.4.1', '.5', '.5.1. 5' ];
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const arr =[ '.0', '.1', '.2', '.4', '.2.1', '.3', '.4.1', '.5', '.5.1' .5' ];const comparison =(a, b) => { if (a ===b) { return 0 }; const aArr =a.split("."), bArr =b.split("."); สำหรับ (ให้ i =0; iparseInt (bArr [i])) { กลับ 1 }; } if (aArr.length bArr.length) { ส่งคืน 1 }; return 0;};arr.sort(compare);console.log(arr);
ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
<ก่อนหน้า>[ '.0', '.1', '.2', '.2.1', '.3', '.4', '.4.1', '.5', '.5.1.5' ]