我在这个网站上看到的所有例子都表明我应该能够做到这一点:
var multiArray = []
var singleArray = []
singleArray[0] = "10"
singleArray[1] = "11"
multiArray.push(singleArray)
singleArray[0] = "20"
singleArray[1] = "21"
multiArray.push(singleArray)
我希望 multiArray 包含:
["10", "11"]["20", "21"}
实际上它包含:
["20", "21"]["20", "21"}
看起来 multiArray 持有对 singleArray 的引用而不是数据。因此,更改 singleArray 的内容会影响 multiArray 中的两个条目。
我是否犯了一个非常基本的错误,或者是否有一些解决方法?
感谢您的帮助。
最佳答案
有很多方法可以做到这一点并获得您想要的。 . .其他两个答案都可以,这两种方法也可以:
multiArray.push(["10", "11"]);
multiArray.push(["20", "21"]);
. . .和 。 . .
multiArray.push(new Array("10", "11"));
multiArray.push(new Array("20", "21"));
两者都会生成一个数组:[["10", "11"], ["20", "21"]]
最后,重要的是您需要为存储的每组值创建一个新的数组实例,因为外部数组将只存储指向它包含的每个内部数组的指针。
关于javascript - 向多维 javascript 数组添加新条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22080046/