คำนำ
อาร์เรย์เป็นส่วนสำคัญของ JavaScript มันสามารถใช้ในการจัดเก็บสตริงวัตถุฟังก์ชั่นและตัวเลข มันทรงพลังมาก ดังนั้นความเข้าใจอย่างลึกซึ้งเกี่ยวกับอาร์เรย์จึงเป็นการบ้านแบบบังคับ เป็นวันศุกร์และหัวใจของบล็อกเกอร์เริ่มเพิ่มขึ้นอีกครั้ง พรุ่งนี้มีวันหยุดสุดสัปดาห์ไหม ฉันสามารถสนุกอีกครั้ง
สร้างอาร์เรย์
มีสองวิธีพื้นฐานในการสร้างอาร์เรย์หนึ่งคือตัวอักษรและอีกวิธีหนึ่งถูกสร้างขึ้นโดยใช้ตัวสร้าง:
var arr = [1,2,3]; // สร้างค่าอาร์เรย์ในรูปแบบของตัวอักษรและคั่นด้วยเครื่องหมายจุลภาคภาษาอังกฤษ
var arr = [1,2,3]; // สร้างค่าอาร์เรย์ในรูปแบบของตัวอักษรและคั่นด้วยภาษาอังกฤษ commas var arr1 = อาร์เรย์ใหม่ (1,2,3); // Constructor สร้างอาร์เรย์เพื่อสร้างวัตถุอาร์เรย์ผ่านตัวดำเนินการใหม่ // นอกจากนี้คุณยังสามารถละเว้นตัวดำเนินการใหม่แม้ว่าจะไม่แนะนำให้ทำสิ่งนี้เกือบตลอดเวลา var arr1 = อาร์เรย์ (1,2,3); ละเว้นตัวดำเนินการใหม่เพื่อสร้างวัตถุอาร์เรย์ ไวยากรณ์นี้คล้ายกับ PHP มาก แต่ไม่สามารถระบุคีย์ใน JavaScript ได้
ดัชนีอาร์เรย์: คู่คีย์-ค่า
การใช้ตัวอักษรเป็นตัวอย่างแต่ละรายการอาร์เรย์มีคีย์ที่สอดคล้องกันซึ่งสามารถเรียกได้ว่า [subscript] และ [ดัชนี] คีย์เริ่มต้นใน JavaScript เริ่มต้นจาก 0 และกำหนดชื่อคีย์ตามตำแหน่งของรายการอาร์เรย์ ค่าของรายการอาร์เรย์จะถูกสอบถามผ่านชื่อคีย์ ไวยากรณ์ทั่วไปคืออาร์เรย์ [i]:
var sarr = ["hello", "java", "script"]; // ชื่อคีย์ที่เกี่ยวข้องคือ 0, 1, 2 console.log (sarr [0]); //สวัสดี
พิมพ์อาร์เรย์ลงในคอนโซล Firefox และคุณสามารถเห็นความสัมพันธ์ที่สอดคล้องกันในคอนโซลได้อย่างชัดเจน:
ทางด้านขวาของคอนโซลความสัมพันธ์เชิงตรรกะระหว่างคีย์และค่าจะถูกระบุไว้ในวิธีที่ใช้งานง่ายมาก 0 สอดคล้องกับ Hello, 1 สอดคล้องกับ Java และ 2 สอดคล้องกับสคริปต์ โดยทั่วไปจำนวนอาร์เรย์จาวาสคริปต์เริ่มต้นจาก 0 [0-1-2] == [1-2-3] อันแรกคือสวัสดีอันที่สองคือ Java และอันที่สามคือสคริปต์;
แต่ละอาร์เรย์มีความยาวไม่มีค่า 0 และได้รับผ่านวิธีอาร์เรย์ความยาว ความยาวของรูปด้านบนคือ 3 ซึ่งสามารถมองเห็นได้อย่างชัดเจนทางด้านขวาของคอนโซล นอกจากนี้ยังมีการแนะนำเคล็ดลับเล็ก ๆ รายการแอตทริบิวต์ส่วนใหญ่ที่ระบุไว้ในคอนโซลคอนโซล Firefox Console สามารถเข้าถึงได้โดยตรง คุณสามารถเข้าถึงได้ผ่านหมายเลข [array.length] หรือการเข้าถึง [อาร์เรย์ ['ความยาว']] ผ่านรูปแบบของคีย์
คุณสมบัติความยาวของอาร์เรย์มีความโดดเด่นมาก ----- มันไม่ได้อ่านอย่างเดียว ดังนั้นโดยการตั้งค่าคุณสมบัตินี้คุณสามารถลบรายการออกจากส่วนท้ายของอาร์เรย์หรือเพิ่มรายการใหม่ลงในอาร์เรย์, เกาลัด:
var colours = ['red', 'blue', 'Green']; // สร้างอาร์เรย์ของ 3 Strings Colours.length = 2; Alert (สี [2]); // ไม่มีการกำหนดไม่มีอยู่
Shangli ลบรายการสุดท้าย 'สีเขียว' ของอาร์เรย์และยังสามารถเพิ่มได้:
var colours = ['red', 'blue', 'Green']; // สร้างอาร์เรย์ของ 3 Strings สี [colours.length] = 'Black'; // ความยาวเริ่มต้นของสีคือ 3 รหัสนี้เทียบเท่ากับสี [3] = 'ดำ'; การแจ้งเตือน (สี [3]); // สีดำ
เคล็ดลับ 1:
ดังนั้นคำถามก็คือบางครั้งเพื่อนของฉันก็ลืมชื่อคุณลักษณะบางอย่างในขณะที่เคาะ ฉันควรทำอย่างไร?
พิมพ์ลงในคอนโซล Firefox ดูคุณสมบัติของมันใช้วัตถุตำแหน่งเป็นตัวอย่างคอนโซลล็อก (ตำแหน่ง):
console.log (ตำแหน่ง);
หลังจากได้รับสิ่งนี้แล้วเราจะได้รับคุณค่าที่แน่นอนง่ายขึ้นหรือไม่? ตัวอย่างเช่นหากคุณได้รับที่อยู่ URL ปัจจุบัน [location.href] รับชื่อโดเมน [location.hostname] ฯลฯ หรือหากคุณต้องการรับวิธีการบน Windows นี่เป็นสิ่งเดียวกันซึ่งสะดวกมาก
สแต็คอาร์เรย์
ซ้อนอาร์เรย์คืออะไร? หมายความว่าอาร์เรย์สามารถแสดงเป็นสแต็ค (ไร้สาระ) ดังนั้นสแต็กคืออะไร?
ความเข้าใจในรหัสคือสแต็กเป็นโครงสร้างข้อมูลที่สามารถ จำกัด การแทรกและการลบรายการ สแต็คเป็น LIFO (ครั้งสุดท้าย-ออกก่อนออกก่อน) นั่นคือรายการเพิ่มเติมล่าสุดจะถูกลบออกก่อนและรายการที่เพิ่มเร็วที่สุดอยู่ที่ด้านล่างของสแต็ก ดูภาพ:
เช่นเดียวกับหน่วยการสร้างบล็อกด้านล่างสามารถรับได้ในตอนท้าย หากวางไว้ในสถานที่ใหม่ [สแต็ค] จะเกิดขึ้น
นำมันออกมาในสแต็คอาร์เรย์แล้วเรียกมันว่า [ป๊อป] แล้วใส่เข้าไปแล้วเรียกมันว่า [พุช]
มีสองวิธีในอาร์เรย์ JavaScript [pop ()] [การกดคือ push ()]
var sarr = ["hello", "java", "script"]; sarr.push ("black"); // pull ใน blackconsole.log (sarr [3]) // blackconsole.log (sarr.pop ()) // black // pop Black Console.logคิว
กฎการเข้าถึงสำหรับข้อมูลสแต็กคือ LIFO (ครั้งแรกในและจากนั้นออก) ในขณะที่กฎการเข้าถึงสำหรับโครงสร้างข้อมูลคิวคือ FIF0 (ครั้งแรกในอันดับแรก) คิวมักใช้ในการวนรอบอาร์เรย์และทำงานอย่างต่อเนื่องในอาร์เรย์ วิธีการคิวใช้ shift () เพื่อปรากฏรายการขั้นสูงจากอาร์เรย์นั่นคือรายการที่มีตัวห้อย 0
var sarr = ["hello", "java", "script"]; console.log (sarr.shift ()); // hello // shift คล้ายกับวิธีป๊อป ป๊อปปรากฏขึ้นจากจุดสิ้นสุดของอาร์เรย์และกะนั้นมาจากจุดเริ่มต้นของอาร์เรย์คอนโซลล็อก (sarr [0]); // Java Hello ได้โผล่ขึ้นมาแล้ว
ใช้วิธีการกะเพื่อสร้างคิว:
var sarr = ["hello", "java", "script"]; var alf = sarr.shift (); // นำรายการแรก sarr.push (alf); // แทรกไปยัง console.log (sarr); // ['java', 'สคริปต์', 'สวัสดี']
ผ่านตัวจับเวลา SetInterval เราสามารถวนซ้ำอย่างต่อเนื่องผ่านแต่ละรายการอาร์เรย์ โพสต์บล็อกก่อนหน้านี้ได้รับการอธิบาย "พอร์ทัล settimeout และตัวจับเวลา setInterval และอาร์เรย์ลูปแบบอะซิงโครนัส
setInterval (function () {console.log (sarr [0]); // พิมพ์รายการแรก var alf = sarr.shift (); // นำรายการแรก sarr.push (alf); // แทรกไปยังจุดสิ้นสุดของอาร์เรย์}, 1000);Shangli จะพิมพ์สคริปต์ Hello Java ต่อไป
เรารู้ว่าอาร์เรย์สามารถจัดเก็บค่าใดก็ได้ ดังนั้นเราจึงใส่ฟังก์ชั่นที่ต้องดำเนินการในลูปในอาร์เรย์แล้วใช้วิธีคิวเพื่อดำเนินการอย่างต่อเนื่องและจากนั้นเราสามารถวนผ่านวิธีการในคิว:
ฟังก์ชั่นสวัสดี () {console.log ("hello");} ฟังก์ชัน java () {console.log ("java");} ฟังก์ชันสคริปต์ () {console.log ("สคริปต์");} var sarr = [hello, java, script]; setInterval sarr.push (alf); alf (); // ดำเนินการวิธีการ}, 1000);นอกจากนี้ยังสามารถพิมพ์ Hello Java Script Loops ได้ แต่มันมีประสิทธิภาพมากกว่า
สรุปวิธีการทั่วไปของอาร์เรย์
1. จัดเรียง
มีสองวิธีในอาร์เรย์ JavaScript ที่สามารถใช้โดยตรงสำหรับการจัดลำดับใหม่: reverse () และ sort ()
reverse () จัดเรียงอาเรย์ย้อนหลังใหม่:
var sarr = [1,2,3,4,5,6]; console.log (sarr.reverse ()); // 6,5,4,3,2,1
นอกจากนี้ยังมีวิธีการเรียงลำดับที่ทรงพลังกว่า ()
การเรียงลำดับเริ่มต้น () จัดเรียงอาร์เรย์ตามลำดับจากน้อยไปมาก ควรสังเกตว่าการเรียงลำดับจะเรียกวิธี ToString () ของแต่ละรายการดังนั้นขนาดของการเรียงลำดับที่แท้จริงจะขึ้นอยู่กับสตริง:
var sarr = [6,2,2,4,5,6]; console.log (sarr.sort ()); // 2,2,4,5,6,6 คำสั่งซื้อจากน้อยไปมาก var sarr = [6,2,2,11,4,5,6]; console.log (sarr.sort ()); // 11,2,2,4,5,6,6
ขนาดการเปรียบเทียบที่แท้จริงของการเรียงลำดับคือสตริง วิธีการเปรียบเทียบของสตริงโดยทั่วไปจะเปรียบเทียบอักขระตัวแรกในตัวละครดังนั้น '11' <2 'A' <'B'
การเรียงลำดับยังสามารถผ่านฟังก์ชั่นเป็นพารามิเตอร์ซึ่งสามารถกำหนดวิธีการเรียงลำดับของอาร์เรย์ใหม่ได้
ฟังก์ชั่นเปรียบเทียบ (val1, val2) {// เรียงลำดับผ่านพารามิเตอร์สองค่า 1 และค่า 2if (val1 <val2) {// เมื่อค่า 1 น้อยกว่าค่า 2 คืน -1 หมายถึงค่าย้าย 1 ไปข้างหน้าโดยหนึ่งตำแหน่งส่งคืน -1; } อื่นถ้า (val1> val2) {return 1;} else {return 0;}} var sarr = [6,2,2,11,4,5,5,6]; console.log (sarr.sort (เปรียบเทียบ)); // [2, 2, 4, 5, 6, 6, 11] เราเปรียบเทียบในฟังก์ชันและผลลัพธ์สุดท้ายเป็นเรื่องปกติถ้า [Val1 <val2] ส่งคืน 1 คืนมากกว่า -1 เราสามารถจัดเรียงในแฟลช; นอกจากนี้เรายังสามารถระบุวิธีการเรียงลำดับด้วยตนเอง
2. ตัวถูกดำเนินการอาร์เรย์
①คัดลอกอาร์เรย์และบันทึก (โคลน) เมธอด concat () สามารถสร้างอาร์เรย์ใหม่ตามรายการทั้งหมดในอาร์เรย์ปัจจุบัน เมื่อผ่านพารามิเตอร์มันจะเพิ่มพารามิเตอร์ลงในตอนท้ายของอาร์เรย์ด้วยกัน
var sarr = ["hello", "java", "script"]; var farr = sarr.concat ("!"); console.log (farr); // ["สวัสดี", "java", "สคริปต์", "!" -② Slice () สามารถสร้างอาร์เรย์ใหม่ตามรายการหนึ่งรายการขึ้นไปในอาร์เรย์ปัจจุบัน มันสามารถยอมรับพารามิเตอร์ 1 หรือสองตัวนั่นคือตำแหน่งเริ่มต้นและจุดสิ้นสุดของรายการที่จะคัดลอก มีพารามิเตอร์เดียวเท่านั้นที่มีตำแหน่งสิ้นสุดเริ่มต้นที่ส่วนท้ายของอาร์เรย์ดังนั้นจึงสามารถโคลนอาร์เรย์ได้
var sarr = ["hello", "java", "script"]; var farr = sarr.slice (0); console.log (farr); // ["hello", "java", "script"] var farr = sarr.slice (0,1) console.log (farr); //
สรุป
อาร์เรย์เป็นส่วนสำคัญมากใน JavaScript การเรียนรู้อย่างดีสามารถทำให้รหัสในที่ทำงานง่ายขึ้น หลายครั้งที่คุณสามารถลองใส่พวกเขาในอาร์เรย์และดำเนินการชุดการดำเนินงานผ่านวิธีการอาร์เรย์ โพสต์บล็อกมีความยาว จำกัด แต่ไม่มีข้อ จำกัด ในการเรียนรู้ ฉันหวังว่าทุกคนจะได้เรียนรู้อย่างมีความสุขและควบคุมการพัฒนาส่วนหน้าของคุณได้เร็วขึ้น!
ข้างต้นเป็นการวิเคราะห์วิธีการทั่วไปของอาร์เรย์ใน JavaScript ที่แนะนำโดยบรรณาธิการ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!