Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การแก้ไข Array.prototype.fill() ที่ส่ง reference แทน instance ใหม่ใน JavaScript

คำอธิบาย

ปัญหา: new Array(5).fill({}) สร้างอาร์เรย์ที่อ้างอิงออบเจกต์เดียวกัน ทั้งหมด ใช้ map() เพื่อสร้าง instance ใหม่แทน

ไวยากรณ์

var anyVariableName = new Array(yourSize).fill().map(Object);

ตัวอย่างโค้ด

var arrayOfObject = new Array(5).fill().map(Object);
console.log(arrayOfObject);

วิธีรัน

node fileName.js

ผลลัพธ์

[ {}, {}, {}, {}, {} ]