将新阵列推入2d阵列

时间:2016-02-28 15:34:39

标签: javascript arrays


我试图将新数组推送到全局数组中:

var history = [ ];

function addHistory(array)
{
history.push(array);
console.log(history)//to check what is the value of array
}

var test1 = [0,0,0,0,0];
var test2 = [1,1,1,1,1];
addHistory(test1);
addHistory(test2);

这样做后,数组应为:

[ [0,0,0,0,0] , [1,1,1,1,1] ]

但相反它打印

[ [1,1,1,1,1] , [1,1,1,1,1] ]

所以基本上它取代了数组" history"中的所有旧数组,而不是最后推送它。

这里有什么不妥?
非常感谢

编辑:
对不起,忘了提到我的实际变量没有被称为历史记录(我之所以这么称呼它就是你可以想象我想要的东西)。它被称为" rollHist "

1 个答案:

答案 0 :(得分:2)

history是javascript中受保护的术语。将其更改为此将修复它:

var myHistory = [];

function addHistory(array)
{
myHistory.push(array);
console.log(myHistory)//to check what is the value of array
}

var test1 = [0,0,0,0,0];
var test2 = [1,1,1,1,1];
addHistory(test1);
addHistory(test2);

您可以阅读有关各种受保护字here

的更多信息