javascript array() 掉的坑
javascript array() 掉的坑

事情是这样的吧, 这几天需要用到 javascript
的数组, GOOGLE 可以搜到很多写得很好的文章, 我就说说我要用到 2 维数组的事情吧.
需要建一个包含 10 个 1 维数组的数组, 我用的是
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
, 这怎么行? 与想像中完全是天差地别不是.
然后试了各种资势吧, 都以失败告终, 其中的痛也就不提了.
最后吧, 是这么解决的
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):