Javascript 删除数组中的最后一项,删除整个数组
我在for循环中有一个if语句,它在整个数组中循环并显示元素:Javascript 删除数组中的最后一项,删除整个数组,javascript,arrays,p5.js,Javascript,Arrays,P5.js,我在for循环中有一个if语句,它在整个数组中循环并显示元素: for (var i = 0; i < txtA.length; i++) { txtA[i].update(); txtA[i].show(); if (txtA[i].y == height) { txtA.pop(); console.log(txtA.length); } } for(变量i=0;i
for (var i = 0; i < txtA.length; i++) {
txtA[i].update();
txtA[i].show();
if (txtA[i].y == height) {
txtA.pop();
console.log(txtA.length);
}
}
for(变量i=0;i
if语句检查元素相对于画布的高度,并删除元素。问题是当if语句等于true时,数组中的所有元素都将被删除。救命啊 因为你在做流行音乐。Pop删除数组的最后一个元素。如果你的第一个项目击中底部,那么它将删除数组中的最后一个项目。它将循环并继续移除最后一个项目,直到最后移除第一个触底的项目 使用拼接代替
txtA.拼接(i,1)代码>您的逻辑一定有错误,如果不知道数组的内容,很难解决这个问题
也就是说,Array.prototype.pop
不对您描述的行为负责。发件人:
pop方法从数组中删除最后一个元素并返回
调用方的值。。。如果对空数组调用pop(),它将返回
未定义
即,pop从数组中删除最后一个元素,或者(在空数组的情况下)不执行任何操作并返回未定义的元素;它从不实际删除数组。如果它正在清除数组,那么它必须一次删除一个元素,在每次迭代中从数组末尾弹出一个元素。我们还可以看到您正在使用的数组吗?您确定数组有多个元素开始吗?数组包含多个对象构造函数,其中包含x、y、letter、update()和show();@Carcigenicate当按下一个键时,数组会得到一个元素,然后当数组的某个元素触底时,程序会尝试删除该元素。但是它删除了所有元素,我可以从console.log中看出这一点