小编trl*_*kly的帖子

Array.prototype.fill()与fill不同

我正在研究一个将其结果输出到2D数组中的问题,在每个元素中添加一个.

我尽可能地简化了代码以创建测试用例.如果我按照我的方式填充数组,如下所示:

var a = [[], [], [] ,[] ,[], []];
var d1, d2;
for (d1 = 0; d1 < 6; d1++) {
    for (d2 = 0; d2 < 6; d2++) {
        a[d1][d2] = (a[d1][d2]) ? (a[d1][d2]) + 1 : 1; 
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到一个2D数组,其中所有的值都是1.但是,如果我使用array.prototype.fill()预填充数组,如下所示:

var a = new Array(6).fill(new Array(6).fill(0));
var d1, d2;
for (d1 = 0; d1 < 6; d1++) {
    for (d2 = 0; d2 < 6; d2++) {
        a[d1][d2] += 1; 
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到一个装满6s的2D阵列.即使我a[d1][d2] …

javascript arrays

2
推荐指数
1
解决办法
73
查看次数

标签 统计

arrays ×1

javascript ×1