Javascript:如何初始化二维数组 [英] Javascript: How to initialize a 2 dimensional array

查看:107
本文介绍了Javascript:如何初始化二维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我认为初始化多维数组很容易:

I thought initializing an multi dimensional array would be easy:

row = Array(4).fill(0)
block = Array(4).fill(row)
block[2][2] = 15

但这只会创建一个四行的数组,因此,如果我将block [2] [2] = 15分配给整个列,则整个列为15.

but that just creates an array of one row, 4 times, so if I assign block[2][2] = 15, then the whole column is 15.

(4) [Array(4), Array(4), Array(4), Array(4)]
0:(4) [0, 0, 15, 0]
1:(4) [0, 0, 15, 0]
2:(4) [0, 0, 15, 0]
3:(4) [0, 0, 15, 0]

我尝试了 Array(4).fill(Array(4).fill(0)),但结果相同.

I tried Array(4).fill(Array(4).fill(0)) but had the same result.

推荐答案

您可以编写一个辅助函数来初始化二维数组.例如:

You could write a helper function to initialize your two dimensional array. For example:

const grid = (r, c) => Array(r).fill(null).map(r => Array(c).fill(null));

const g = grid(4, 4);
g[2][2] = 15;

console.log(g);

这篇关于Javascript:如何初始化二维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆