js創建二維數組


方法一:
new Array(n).fill(new Array(n).fill(1));
當一個對象被傳遞給  fill方法的時候, 填充數組的是這個對象的引用
所以一維中的每一個數組,都指向同一個引用
如果一維中的任何一個元素執行push,哪個每一個二維中都會多一個元素
 
所以為了避免這種情況可以
new Array(n).fill().map(()=>{return new Array(n).fill(false)})
 
方法二:
Array.from(new Array(3),()=>{return new Array(3).fill(false)})
 
fill 方法故意被設計成通用方法, 該方法不要求 this 是數組對象。

fill 方法是個可變方法, 它會改變調用它的 this 對象本身, 然后返回它, 而並不是返回一個副本。

當一個對象被傳遞給 fill方法的時候, 填充數組的是這個對象的引用。

來源:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/fill


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM