คุณสามารถใช้เมธอด JavaScript sort() เพื่อจัดเรียงอาร์เรย์ วิธีการ sort() ยอมรับอาร์เรย์เป็นอาร์กิวเมนต์และจัดเรียงค่าในลำดับจากน้อยไปมาก อาร์เรย์ถูกจัดเรียงในตำแหน่งซึ่งหมายความว่าอาร์เรย์เดิมได้รับการแก้ไข ไม่ได้สร้างอาร์เรย์ใหม่
คุณอาจตัดสินใจว่าต้องการจัดเรียงอาร์เรย์ของคุณตามลำดับเฉพาะ ตัวอย่างเช่น คุณอาจมีรายชื่อที่คุณต้องการแสดงให้ผู้ใช้ทราบโดยเรียงตามตัวอักษร
ขึ้นอยู่กับว่าคุณต้องการจัดเรียงองค์ประกอบในอาร์เรย์อย่างไร มีฟังก์ชัน JavaScript ในตัวที่สามารถช่วยได้ ตัวอย่างเช่น คุณสามารถใช้ฟังก์ชัน sort() เพื่อจัดเรียงอาร์เรย์ตามลำดับตัวอักษร ฟังก์ชัน reverse() เพื่อจัดเรียงอาร์เรย์ในลำดับที่กลับกัน และฟังก์ชัน sort() ที่มีฟังก์ชันซ้อนกันเพื่อสร้างการจัดเรียงของคุณเอง
ในบทช่วยสอนนี้ เราจะอธิบายวิธีการใช้ sort() และ reverse() เพื่อใช้งานฟังก์ชัน sort array ใน JavaScript
JavaScript sort() วิธีการ
JavaScript sort() วิธีการอ่านค่าในอาร์เรย์และส่งกลับค่าเหล่านั้นในลำดับจากน้อยไปมากหรือจากมากไปน้อย สามารถจัดเรียงสตริงที่มีตัวเลขหรือสตริงได้
พิจารณาไวยากรณ์ต่อไปนี้:
const values = [1, 2, 8, 9, 3]; values.sort();
รหัสนี้จัดเรียงรายการ "ค่า" ของเรา รายการถูกจัดเรียงในสถานที่ซึ่งหมายความว่ารายการเดิมของเราได้รับการแก้ไข sort() ไม่ได้สร้างรายการเวอร์ชันใหม่
เป็นที่น่าสังเกตว่าเมธอด sort() จะแก้ไขอาร์เรย์ดั้งเดิมและเปลี่ยนลำดับ หากเราต้องการเก็บอาร์เรย์เดิมไว้เหมือนเดิม เราสามารถเรียกใช้ฟังก์ชัน sort() และเก็บค่าไว้ในตัวแปรใหม่ได้
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
หากคุณกำหนดเนื้อหาของเมธอด sort() ให้กับตัวแปรใหม่ รายการเดิมจะยังคงมีการเปลี่ยนแปลง
ตัวอย่างการจัดเรียง JavaScript
ในการจัดเรียงอาร์เรย์ใน JavaScript เราใช้เมธอด sort() ดีฟอลต์ในตัว ในรูปแบบที่ง่ายที่สุด วิธีการ sort() จะเรียงลำดับอาร์เรย์โดยเรียงตามตัวอักษรจากน้อยไปมาก นี่คือตัวอย่างวิธีการ sort() ที่ใช้งานจริง:
var students = ['Alex', 'Cathy', 'Lincoln', 'Jeff']; var sorted_students = students.sort(); console.log(sorted_students);
รหัสของเราส่งคืนดังต่อไปนี้:
["Alex", "Cathy", "Jeff", "Lincoln"]
อาร์เรย์ของเราได้รับการเรียงลำดับจากน้อยไปมาก เราใช้เมธอด sort() เพื่อจัดเรียงตัวแปร JavaScript ที่เรียกว่า “students” จากนั้น เราพิมพ์ค่าของ “นักเรียน” ไปยังคอนโซล JavaScript
JavaScript Array sort():สั่งซื้อ Numeric Array
เราสามารถใช้วิธี sort() เพื่อจัดเรียงค่าในรายการตัวเลขโดยเรียงลำดับจากน้อยไปมาก
สมมติว่าเรามีรายการเกรดนักเรียนที่เราต้องการเรียงลำดับจากน้อยไปมาก เราสามารถจัดเรียงได้โดยใช้เมธอด sort():
var grades = [67, 75, 62, 78]; grades.sort(); console.log(grades);
ผลลัพธ์จากโค้ดของเรามีดังนี้:
[62, 67, 75, 78]
อาร์เรย์ของเราได้รับการเรียงลำดับจากน้อยไปมาก! เมื่อโปรแกรมของเราเริ่มดำเนินการ sort() องค์ประกอบภายในอาร์เรย์ของเราจะถูกจัดเรียงตามค่า/
เนื่องจาก sort() จัดเรียงรายการในสถานที่ เราจึงไม่จำเป็นต้องกำหนดผลลัพธ์ของ sort() ให้กับตัวแปรใหม่ รหัสของเราจะพิมพ์อาร์เรย์ "เกรด" ที่จัดเรียงใหม่ไปยังคอนโซล
JavaScript Sort Array ของออบเจ็กต์
วิธีการ sort() สามารถใช้เพื่อจัดเรียงอาร์เรย์ของวัตถุได้ เช่น เราอาจมีอาร์เรย์ของออบเจ็กต์ JSON ที่เก็บทั้งชื่อและอายุของนักเรียน
นี่คือตัวอย่างของฟังก์ชัน sort() ที่จะจัดเรียงอาร์เรย์ดังกล่าวตามอายุของนักเรียนของเรา:
var students = [ { name: "Alex", age: 16 }, { name: "Cathy", age: 14 }, { name: "Lincoln", age: 14 }, { name: "Jeff", age: 15 } ]; var sorted_students = students.sort(function(a, b) { return a.age - b.age; }); console.log(sorted_students);
รหัสของเราส่งคืนดังต่อไปนี้:
[ { "name": "Cathy", "age": 14}, { "name": "Lincoln", "age": 14}, { "name": "Jeff", "age": 15}, { "name": "Alex", "age": 16} ]
รหัสของเราส่งคืนอาร์เรย์ของวัตถุ JSON ตามลำดับอายุของนักเรียน
ในบรรทัดแรก เราประกาศตัวแปร "นักเรียน" กับนักเรียนสี่คน จากนั้นเราสร้างฟังก์ชันที่จัดเรียงตัวแปรนักเรียนของเราตามค่า "อายุ" ในแต่ละวัตถุ JSON โดยการเปรียบเทียบอายุ สุดท้าย โปรแกรมของเราจะพิมพ์รายชื่อนักเรียนที่จัดเรียงไว้
JavaScript Array sort():เรียงลำดับย้อนกลับ
นอกจากนี้ยังมีฟังก์ชัน JavaScript ในตัวที่ให้คุณจัดเรียงอาร์เรย์ในลำดับย้อนกลับ:reverse()
วิธี reverse() จะกลับอาร์เรย์เพื่อให้องค์ประกอบแรกกลายเป็นองค์ประกอบสุดท้าย และองค์ประกอบสุดท้ายกลายเป็นองค์ประกอบแรก ดังนั้น อาร์เรย์นี้จึงไม่เรียงลำดับอาร์เรย์จากมากไปหาน้อยตามตัวอักษร
หากเราเรียงลำดับรายการก่อนโดยใช้วิธี sort() เราสามารถใช้ reverse() เพื่อดูอาร์เรย์ของเราในลำดับจากมากไปน้อย
นี่คือตัวอย่างการทำงานของฟังก์ชัน reverse():
var students = ['Alex', 'Cathy', 'Lincoln', 'Jeff']; var reversed_students = students.reverse(); console.log(reversed_students);
รหัสของเราส่งคืนดังต่อไปนี้:
[“Jeff”, “Lincoln”, “Cathy”, “Alex”]
ก่อนอื่นเราเรียงลำดับรายการของเราในลำดับจากน้อยไปมากโดยใช้ sort() จากนั้นเรากลับรายการโดยใช้ reverse() รายชื่อของเราตอนนี้แสดงชื่อของเราในลำดับจากมากไปหาน้อยตามตัวอักษร
ฟังก์ชัน reverse() เช่นเดียวกับฟังก์ชัน sort() จะปรับเปลี่ยนลำดับของรายการของเรา เราไม่สามารถกำหนดผลลัพธ์ของ reverse() ให้กับตัวแปรใหม่โดยไม่ต้องแก้ไขอาร์เรย์เดิม เราได้พูดถึงเรื่องนี้ก่อนหน้านี้ด้วยวิธีการ sort()
บทสรุป
JavaScript sort() วิธีการเรียงลำดับเนื้อหาของรายการในลำดับจากน้อยไปมากหรือจากมากไปน้อย sort() แก้ไขรายการในตำแหน่งซึ่งหมายความว่าวิธีการจะไม่สร้างรายการใหม่ reverse() เมื่อใช้หลัง sort() จะเรียงลำดับรายการจากมากไปหาน้อย
ในบทช่วยสอนนี้ เราได้แบ่งย่อยวิธีการจัดเรียงอาร์เรย์ใน JavaScript โดยใช้ sort() เราได้หารือเกี่ยวกับการจัดเรียงอาร์เรย์ตัวเลข วิธีจัดเรียงอาร์เรย์ของวัตถุ และการใช้ reverse() เพื่อย้อนกลับเนื้อหาของอาร์เรย์
สำหรับคำแนะนำเกี่ยวกับแหล่งข้อมูลการเรียนรู้ JavaScript ชั้นนำและหลักสูตรออนไลน์ โปรดดูบทความ How to Learn JavaScript