• 设为首页
  • 加入收藏
  • 我要投稿
  • 联系站长
  • 网站模板技术交流
当前位置:模板网首页 > 建站教程 > JS、jQ >  简单的循环,去除数正文

简单的循环,去除数组或对象中指定的内容

作者:网页模板
类型:文章教程
点击次数:
发布时间:2018-09-07 17:07
分享到:
    今天,我爱模板网要将所有含有某个字符的项,从数组或对象中剔除,但是发现总是剔不干净,如下:
    假设将下面数组中凡是含有“a”的项全去了:
var arr = ['a1','c','a2','a3','a4','a5','a6','b','a7','a8','a9','a10','d'];
for(let i=0; i<arr.length; i++){
    if(arr[i].indexOf('a')  !=  -1){
        arr.splice(i,1);
    }
}
alert(arr);
    得到的结果是:c,a3,a5,b,a8,a10,d

    原因是,当发现重复了,去除了,但是下个循环,不从0开始,导致遗漏了部分,知道怎么回事,就好解决了:
var arr = ['a1','c','a2','a3','a4','a5','a6','b','a7','a8','a9','a10','d'];
for(let i=0; i<arr.length; i++){
    if(arr[i].indexOf('a')  !=  -1){
        arr.splice(i,1);
        i=-1;  //主要发现重复,就让i从-1开始,因为下次循环i++,会将它初始化到0
    }
}
alert(arr);
    上面的结果就是正确的了:c,b,d (责任编辑:网页模板)
  • 本文标签:
  • js教程
jQuery cookie插件jquery.cookie.min.js的用法
js触发已有事件,js trigger