猿问

使用Array.fill的生成二维数组的问题

本想要建立一个初值全为0的6x6二维数组,想了一个偷懒的办法(ES6语法)

let ret = new Array(6).fill(new Array(6).fill(0))

返回结果是

看着还正常

但是,

当我

ret[0][0] = 'str'

http://img.mukewang.com/599d121600013dbd03790160.jpg

好奇怪,有木有,这还联动了…………请问这是怎么回事呢

风硕依源
浏览 2576回答 5
5回答

风硕依源

Array.fill()的参数,如果是引用变量(数组、对象),那么,生成的数组会共享这个引用变量

颜鸿羽

不奇怪啊!第一个【0】是起点,第二个【0】相当于是一个终点啊

牛奶老哥哥

是诶,很有意思
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答