อาร์เรย์และวัตถุ ควรเป็นประเภทที่ใช้กันมากที่สุดและใช้บ่อยที่สุดในจาวาสคริปต์ อาร์เรย์มีวิธีการที่ใช้กันทั่วไปมากมาย: วิธีการสแต็ก, วิธีการคิว, วิธีการสั่งซื้อใหม่, วิธีการทำงาน, วิธีการตำแหน่ง, วิธีการวนซ้ำ ฯลฯ
1. อาร์เรย์วิธีการสแต็ก
สแต็คเป็นโครงสร้างข้อมูล LIFO (ครั้งสุดท้ายในการออกมาก่อนในภายหลัง) นั่นคือรายการที่เพิ่มล่าสุดจะถูกลบออกอย่างเร็วที่สุด การแทรกและการลบรายการในสแต็กจะเกิดขึ้นในที่เดียวเท่านั้น - ด้านบนของสแต็ก ECMASCRIPT ให้วิธีการ push () และ pop () สำหรับอาร์เรย์ซึ่งสามารถใช้พฤติกรรมเหมือนสแต็ก ตัวเลขสองตัวต่อไปนี้แสดงให้เห็นถึงการเข้าสแต็กและการดำเนินการทางออกสแต็กตามลำดับ
เมธอด push () สามารถรับพารามิเตอร์ของข้อมูลใด ๆ เพิ่มทีละหนึ่งไปยังจุดสิ้นสุดของอาร์เรย์และส่งคืนความยาวอาร์เรย์ที่แก้ไขแล้ว วิธีการป๊อป () จะลบรายการสุดท้ายออกจากปลายอาร์เรย์ลดค่าความยาวของอาร์เรย์
นักเรียน var = []; นักเรียน. พัช ("bluce", "จอร์แดน", "marlon", "kobe"); // 4 รายการของสแต็กคือการแจ้งเตือน (นักเรียนความยาว); // 4Alert (นักเรียน [0]); // "Bluce" รายการแรกอยู่ที่ด้านล่างของการแจ้งเตือนสแต็ก (นักเรียน [1]); //""jordan" students.push("paul"); // 5var item = students.pop (); //"Paul"alert(students.length); // 42. วิธีคิวของอาเรย์
กฎการเข้าถึงของโครงสร้างข้อมูลสแต็กคือ LIFO (สุดท้ายในครั้งแรก) ในขณะที่กฎการเข้าถึงของโครงสร้างข้อมูลคิวคือ FIFO (ครั้งแรกในการออกก่อนออกก่อนออกก่อน) คิวเพิ่มรายการในตอนท้ายของรายการและลบรายการออกจากส่วนหน้าของรายการ วิธีการกด () เป็นวิธีการเพิ่มรายการในตอนท้ายของอาร์เรย์ ดังนั้นในการจำลองคิวคุณต้องใช้วิธีการรับรายการจากส่วนหน้าของอาร์เรย์ - shift () ซึ่งสามารถลบรายการแรกในอาร์เรย์และส่งคืนสินค้าและในเวลาเดียวกันความยาว -1 ของอาร์เรย์ การใช้วิธี การ shift () และ push () ร่วมกันคุณสามารถใช้อาร์เรย์ได้อย่างที่คุณต้องการกับคิว
var students = []; students.push ("Bluce", "Jordan", "Marlon", "Kobe"); // 4 รายการของ enqueue // นักเรียน = ["bluce", "Jordan", "Marlon", "kobe"]; Alert (นักเรียนยาว); // 4Alert (นักเรียน [0]); // "Bluce" รายการแรกอยู่ที่ด้านล่างของการแจ้งเตือนสแต็ก (นักเรียน [1]); //""jordan" students.push("paul"); // 5 // นักเรียน = ["Bluce", "Jordan", "Marlon", "Kobe", "Paul"]; var item = students.shift (); //"bluce"alert(students.length); // 4 // นักเรียน = ["Jordan", "Marlon", "Kobe", "Paul"];นอกจากนี้ Ecmascript ยังให้วิธี Unshift () ซึ่งสามารถเพิ่มรายการใด ๆ ลงในปลายด้านหน้าของอาร์เรย์และส่งคืนความยาวของอาร์เรย์ใหม่ ดังนั้นการใช้วิธี Unshift () และ POP () ร่วมกันคุณสามารถจำลองคิวจากทิศทางตรงกันข้ามนั่นคือเพิ่มรายการที่ส่วนหน้าของอาร์เรย์และลบรายการออกจากส่วนท้ายของอาร์เรย์