文章

javascript array() 掉的坑

在 javascript array 当中的折腾

事情是这样的吧, 这几天需要用到 javascript 的数组, GOOGLE 可以搜到很多写得很好的文章, 我就说说我要用到 2 维数组的事情吧.

需要建一个包含 10 个 1 维数组的数组, 我用的是

1
2
3
4
5
6
var a = [];
var b = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
for(var i = 1, i <= 10; i++)
{
    a.push(b);
}

之后吧, 在操作数组里面的一个值 a[2][6] = 0x32 的时候, 发现从 a[0]a[9] 的所有数组的第 7 个值都是 0x32, 这怎么行? 与想像中完全是天差地别不是.

然后试了各种资势吧, 都以失败告终, 其中的痛也就不提了.

最后吧, 是这么解决的

1
2
3
4
5
var a = [];
for(var i = 1, i <= 10; i++)
{
    a.push([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
}

就没问题了.

几个我觉得不错的文章:

还有张图(来源: https://github.com/tooto1985/js-array-operations):

本文由作者按照 CC BY 4.0 进行授权