js学习笔记(新手向)

刚才想用循环值来删除数组的元素数组

代码大体以下:code

for(var i = 0; i < arr.length; i++) {
    if (tem == tem) {                //这里是判断
        arr.splice(i, 1);
    }
}

发现有bug,,,,,缘由是在删除数组的一个元素后,,,,元素后续的全部下标都会改变,,,,,而循环值 i 一直增长,,,,就达不到想要的效果class

在仔细思考两分钟后,,,想到一个方法原理

var tem = [];
for(var i = 0; i < arr.length; i++) {
    if (tem != tem) {                //反向判断
        tem.push(arr[i]);
    }
}

arr = tem;

原理就是把不该该删除的元素用其余 数组装起来,,,,而后再把要修改的数组赋值就好了,,,,,循环

这样就完成了删除        
bug

相关文章
相关标签/搜索