为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

风硕依源 2017-08-23 13:27:50
本想要建立一个初值全为0的6x6二维数组,想了一个偷懒的办法(ES6语法)let ret = new Array(6).fill(new Array(6).fill(0))返回结果是看着还正常但是,当我ret[0][0] = 'str'好奇怪,有木有,这还联动了…………请问这是怎么回事呢
查看完整描述

5 回答

?
风硕依源

TA贡献1条经验 获得超2个赞

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

查看完整回答
2 反对 回复 2017-08-23
?
颜鸿羽

TA贡献108条经验 获得超56个赞

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

查看完整回答
反对 回复 2017-08-23
  • 风硕依源
    风硕依源
    不是啊,ret[0][0]应该是二维数组·的第0行第0个元素
  • 颜鸿羽
    颜鸿羽
    回复 风硕依不是的,数组里从0起头的所以第一位数所以【0】是第一位数,而【1】是第二位数。
  • 颜鸿羽
    颜鸿羽
    不是的,数组里从0起头的所以第一位数所以【0】是第一位数,而【1】是第二位数。
点击展开后面1
?
牛奶老哥哥

TA贡献204条经验 获得超92个赞

是诶,很有意思

查看完整回答
反对 回复 2017-08-23
  • 5 回答
  • 1 关注
  • 2520 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信