以下两个矩阵定义函数有什么区别?

时间:2019-01-24 04:39:26

标签: javascript ecmascript-6

我在做螺旋矩阵问题时遇到了这个问题。当我使用B时,矩阵的每一行似乎都指向同一对象,因为所有行都相同。而A选项按预期方式工作。为什么会这样?

A。 let matrix = Array(n).fill(0).map(el => Array(n).fill(0));

B。 let matrix = new Array(n).fill(new Array(n).fill(0));

1 个答案:

答案 0 :(得分:0)

A示例中,您正在为要填充的每个元素创建一个新数组。
B中,您将创建一个数组,然后在填充时使用该数组。