我试图将新数组推送到全局数组中:
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 "
答案 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
的更多信息