javascript - 清除数组中的空元素

标签 javascript jquery arrays

您好,我不知道为什么即使我清除了那些空元素仍然存在(或者清除函数不起作用猜测)。大家可以看看这个。在将另一个值添加到同一个数组中后,我得到了这个数组。我问的是背后发生了什么,而不仅仅是解决代码谢谢

enter image description here

这是一个函数,每当我单击按钮时,它就会将 4 添加到 DVALUE 数组中。

if("q"+idcount+"d" == this.id){
    DVALUE[dcount++] = 4;
//  alert("D ARRAY"+DVALUE.toString());
    }

每当我点击恢复按钮时,它就会删除最后添加的号码

  if ("d" === qwer) {
    // alert(""+DVALUE.toString());
    DVALUE.pop();
    cleararrayD(); // also calling this function to remove empty elements when ever this if occurs
}

这是cleararrayD函数

function cleararrayD() {
    lens = DVALUE.length, i;
    for (i = 0; i < lens; i++) DVALUE[i] && DVALUE.push(DVALUE[i]); // copy non-empty values to the end of the array
    DVALUE.splice(0, lens);
  }

最佳答案

I am asking whats is happening behind not just solving code

.lengthDVALUE数组在cleararrayD()处没有改变作为元素的函数调用是 .push()编辑为DVALUE DVALUE 的每个索引的数组之前.splice()使用原始数组 .length 进行调用在第二个参数处,删除元素 .push() 前面的元素编辑到数组中。

关于javascript - 清除数组中的空元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45625630/

相关文章:

c++ - 如何创建一个智能指针数组?

java - 如何创建新的 AnyType 数组

javascript - 如何创建一个运行我的 javascript 函数的按钮?

javascript - ExtJS 网页显示在 Chrome 切换设备模式和移动浏览器中不同

javascript - 是否可以有一个后退按钮?

javascript - jQuery 单击或 touchstart 事件在移动设备上不起作用

javascript - 在 JS 中动态创建树/嵌套 JSON

Javascript:如何将纪元转换为 dd-mm-yyyy

javascript - 隐藏和/或显示表列

java - BufferedReader 并填充一个 int 数组