ใน JavaScript ให้ใช้อาร์เรย์หลายมิติและการเรียงลำดับอาร์เรย์อาร์เรย์โดยทั่วไปโดยใช้วิธีการเรียงลำดับดั้งเดิม () เพื่อเรียงลำดับองค์ประกอบของอาร์เรย์
ฉันจะไม่พูดถึงการใช้งานขั้นพื้นฐานก่อนอื่นมาดูตัวอย่างการเรียงลำดับง่ายๆ:
// sortalphabetically และจากน้อยไปมาก: varmyarray = ["bob", "bully", "amy"] myarray.sort () // arraynow กลายเป็น ["Amy", "Bob", "Bully"]
หลังจากอาร์เรย์เรียกว่า Sort () โดยตรงอาร์เรย์จะเรียงลำดับองค์ประกอบในอาร์เรย์ตามตัวอักษร เพื่อให้ถูกต้องมากขึ้นมันจะเรียงลำดับตามลำดับของการเข้ารหัสอักขระ
มาดูการเรียงลำดับของตัวเลข:
// sortnumericly และจากน้อยไปมาก: varmyarray = [25, 8, 7, 41] myarray.sort (ฟังก์ชั่น (a, b) {returna - b}) // arraynow กลายเป็น [7, 8, 25, 41]Sort (Fun) ยอมรับฟังก์ชั่นการเรียงลำดับซึ่งเปรียบเทียบขนาด 2 ตัวเลข หลักการของการเรียงลำดับอาร์เรย์วัตถุของเรานั้นเหมือนกัน
สำหรับการเรียงลำดับอาร์เรย์วัตถุก่อนอื่นเราจะเขียนฟังก์ชั่นที่สร้างฟังก์ชั่นเปรียบเทียบ:
// โดยฟังก์ชั่นใช้สตริงชื่อสมาชิกเป็นพารามิเตอร์ // และส่งคืนฟังก์ชันการเปรียบเทียบที่สามารถใช้ในการเรียงลำดับอาร์เรย์ของวัตถุที่มีสมาชิก varby = ฟังก์ชั่น (ชื่อ) {returnfunction (o, p) {vara, b; if (typeofo === "object" && typeofp === " {return0;} ถ้า (typeofa === typeofb) {return <b? -1: 1;} returnTypeof a <typeofb? -1: 1;} else {throw ("ข้อผิดพลาด");}}}}อาร์เรย์เพื่อจัดเรียง:
Varemployees = [] พนักงาน [0] = {ชื่อ: "George", อายุ: 32, เกษียณอายุ: "March12, 2014"} พนักงาน [1] = {ชื่อ: "Edward", อายุ: 17, เกษียณอายุ: "June2, 2023"} พนักงาน [2] = {ชื่อ: "Christine" 2036 "} พนักงาน [3] = {ชื่อ:" Sarah ", อายุ: 62, เกษียณอายุ:" April30, 2020 "}เรียกฟังก์ชันโดยตรง:
พนักงาน. (โดย ("อายุ"));ณ จุดนี้การสั่งซื้ออาร์เรย์วัตถุจะถูกนำไปใช้โดยทั่วไป ดังนั้นจะใช้การเรียงลำดับคีย์-ค่าหลายรายการได้อย่างไร? มันหมายถึงการเรียงลำดับอายุครั้งแรกและถ้าอายุเท่ากันจากนั้นเปรียบเทียบชื่อ
ในเวลานี้เราสามารถแก้ไขฟังก์ชั่นโดยฟังก์ชั่นเพื่อให้สามารถยอมรับพารามิเตอร์ที่สองได้ เมื่อค่าคีย์หลักสร้างการจับคู่วิธีการเปรียบเทียบอื่นจะถูกเรียกใช้เพื่อกำหนดระดับ
// โดยฟังก์ชั่นยอมรับสตริงชื่อสมาชิกและฟังก์ชั่นการเปรียบเทียบรองเป็นตัวเลือกเป็นพารามิเตอร์ // และส่งคืนฟังก์ชันเปรียบเทียบที่สามารถใช้ในการเรียงลำดับอาร์เรย์วัตถุที่มีสมาชิก // เมื่อ o [อายุ] และ p [อายุ] เท่ากัน 'Object' && typeofp === 'Object') {a = o [ชื่อ]; b = p [ชื่อ]; ถ้า (a === b) {returnTypeof minor === 'ฟังก์ชั่น'? ผู้เยาว์ (o, p): 0;} ถ้า (typeofa === typeofb) {returna <b? -1: 1;} returnTypeof a <typeofb? -1: 1;} else {thro ("ข้อผิดพลาด");}}}} พนักงาน. sort (โดย ('อายุ', โดย ('ชื่อ')));ตกลงตอนนี้คุณสามารถใช้มันได้อย่างมั่นใจ หากคุณไม่เข้าใจคุณสามารถคัดลอกโดยฟังก์ชั่นลงในแอปพลิเคชันของคุณโดยตรงและเรียกมันโดยตรง
ข้างต้นคือคำอธิบายแบบเต็มของวิธีการเรียงลำดับอาร์เรย์อาร์เรย์อาร์เรย์ JavaScript อาร์เรย์ที่แนะนำโดยตัวแก้ไขให้คุณ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!