หากคุณเป็นนักพัฒนาที่มีประสบการณ์คุณอาจคิดว่าคำถามนี้ง่าย แต่บางครั้งเราจะพบว่าคำถามนี้น่าสนใจยิ่งขึ้น
ก่อนอื่นมาดูคำจำกัดความของอาร์เรย์: "อาร์เรย์เป็นเพียงรายการของค่าที่สามารถเข้าถึงได้โดยใช้จำนวนเต็มเป็น" คีย์ "รายการเริ่มต้นที่ 0 และขึ้นไปจากที่นั่น" ที่นี่เราใช้วัตถุเพื่ออธิบายคำจำกัดความของอาร์เรย์:
การคัดลอกรหัสมีดังนี้:
var arr = ["เบนจามิน", "zuojj"];
-
var arr = {
"0": "เบนจามิน"
"1": "zuojj"
-
เมื่อดูตัวอย่างด้านบนฉันมักจะรู้สึกว่ามีบางอย่างขาดหายไปโอเคความยาวของอาร์เรย์:
การคัดลอกรหัสมีดังนี้:
var arr = {
"0": "เบนจามิน"
"1": "zuojj"
"ความยาว": 2
-
เรารู้ว่าในภาษา JavaScript อาร์เรย์เป็นวัตถุพิเศษ เราสามารถเข้าถึงคุณสมบัติของวัตถุได้โดยการเข้าถึงอาร์เรย์ ในเวลาเดียวกันอาร์เรย์ยังสามารถเพิ่มคุณสมบัติเช่นวัตถุ ดูตัวอย่างต่อไปนี้:
การคัดลอกรหัสมีดังนี้:
var arr = {
"0": "เบนจามิน"
"1": "zuojj"
"ความยาว": 2
-
// เอาท์พุท: "เบนจามิน"
console.log (arr [0]);
// เอาต์พุต: 2
console.log (arr.length);
var arr = ["เบนจามิน", "zuojj"];
arr.url = "www.vevb.com";
// เอาต์พุต: "www.vevb.com"
console.log (arr.url);
// เอาต์พุต: 2
console.log (arr.length);
มาดูวิธีการอาร์เรย์กันเถอะ มีวิธีการปฏิบัติงานมากมายสำหรับอาร์เรย์เช่น INDEXOF/SLICE/SPLICE/SOLT ฯลฯ เรารู้ว่าวิธีการเหล่านี้มีอยู่จริงใน Array.prototype ดูตัวอย่างต่อไปนี้:
การคัดลอกรหัสมีดังนี้:
var arr = ["เบนจามิน", "zuojj"];
// เอาต์พุต: 1
console.log (arr.indexof ("zuojj"));
arr.indexof = function (str) {
กลับ "มันเป็นดัชนีที่กำหนดเอง!";
-
// เอาต์พุต: "มันเป็นดัชนีที่กำหนดเอง!"
console.log (arr.indexof ("zuojj"));
ในความเป็นจริงเราสามารถโอเวอร์โหลดวิธีการอาร์เรย์ทั้งหมดโดยใช้วัตถุ ดูตัวอย่างวิธีการผลักดันต่อไปนี้:
การคัดลอกรหัสมีดังนี้:
var arr = {
ความยาว: 0,
push: function (val) {
//งานที่มอบหมาย
สิ่งนี้ [this.length] = val;
// อัปเดตความยาวอาร์เรย์
this.length += 1;
// ส่งคืนความยาวอาร์เรย์
ส่งคืนสิ่งนี้ความยาว;
-
-
arr.push ("zuojj");
arr.push ("Benjamin");
// Object {0: "Zuojj", 1: "Benjamin", ความยาว: 2, push: function}
console.log (arr);
แต่มีคำจำกัดความที่แท้จริงของอาเรย์ที่ไม่สามารถนำไปใช้ได้อีก:
การคัดลอกรหัสมีดังนี้: var arr = ["Benjamin", "zuojj"];
แต่เราสามารถใช้ตัวสร้างแทน:
การคัดลอกรหัสมีดังนี้: var arr = อาร์เรย์ใหม่ ("เบนจามิน", "zuojj");
หากอาร์เรย์นิยามตัวอักษรไม่สามารถใช้งานได้เราสามารถกำหนดนิยามของอาร์เรย์ใหม่ในแบบของเราเอง
การคัดลอกรหัสมีดังนี้: var myarr = new customarray ("Benjamin", "zuojj");
ตอนนี้คุณรู้แล้วว่าอาร์เรย์ทำงานอย่างไรใน JavaScript ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน