我有一个空数组,我想在其中插入内容。
这是我使用的代码:
document.addEventListener('keypress', function(e) {
var myArr = [];
var newContent = myArr.push(e.keyCode);
console.log(myArr);
});
当我按下键盘时,我想将所有按下的keyCode存储到一个数组中,而不删除该数组的现有值。目前,它存储了第一次按下的一个值,当我再次按下时,它会用新的值替换该值。
我希望有这样的形式:[“value 1”,“value 2”,“value 3”,...],但我得到的是[“value 1”] ... [“new value”等等......
我在这里做错了什么?
答案 0 :(得分:4)
在范围之外声明数组myArr
,因为每次执行keypress
时, myArr
变量都会被初始化。
var myArr = [];
document.addEventListener('keypress', function(e) {
var newContent = myArr.push(e.keyCode);
console.log(myArr);
});
选中此JSFiddle
答案 1 :(得分:0)
您正在声明您的数组,即var myArr。所以每次创建新阵列。 所以在当前块之外声明。