浅谈使用splice函数对数组中的元素进行删除时的注意事项


Posted in Javascript onDecember 04, 2016

使用splice函数对数组中的元素进行删除时的注意事项

删除值为c的元素:

<script>
var arr = new Array();
arr[0] = 'a';
arr[1] = 'b';
arr[2] = 'c';
arr[3] = 'c';
arr[4] = 'e';

for(var i=0; i<arr.length; i++){
  if(arr[i] == 'c'){
    arr.splice(i,1);
    i=i-1;  // 必须对i减去1,否则后面的一个元素会被跳过去
  }

}
</script>

注意:如果用for(i in arr)的话,后面的一个元素始终会跳过去

<script>

var arr = new Array();
arr[0] = 'a';
arr[1] = 'b';
arr[2] = 'c';
arr[3] = 'c';
arr[4] = 'e';

for(i in arr){

  if(arr[i] == 'c'){
    arr.splice(i,1);
    i=i-1;  // 这行代码无效,i 的值并不会改变

  }
  alert(arr.length);
}
</script>

以上这篇浅谈使用splice函数对数组中的元素进行删除时的注意事项就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery如何实现点击页面获得当前点击元素的id或其他信息
Jan 09 Javascript
js取值中form.all和不加all的区别介绍
Jan 20 Javascript
使用js判断当前时区TimeZone是否是夏令时
Feb 23 Javascript
在JavaScript中使用NaN值的方法
Jun 05 Javascript
JavaScript来实现打开链接页面的简单实例
Jun 02 Javascript
Centos7 中安装 Node.js v4.4.4
Nov 03 Javascript
Bootstrap导航条的使用和理解3
Dec 14 Javascript
Vue代码分割懒加载的实现方法
Nov 23 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
Nov 05 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
Mar 15 Javascript
小程序实现列表倒计时功能
Jan 29 Javascript
vue中data里面的数据相互使用方式
Jun 05 Vue.js
浅谈js数组和splice的用法
Dec 04 #Javascript
JavaScript注入漏洞的原理及防范(详解)
Dec 04 #Javascript
浅谈html转义及防止javascript注入攻击的方法
Dec 04 #Javascript
jquery select2的使用心得(推荐)
Dec 04 #Javascript
Jquery删除css属性的简单方法
Dec 04 #Javascript
浅谈jQuery before和insertBefore的区别
Dec 04 #Javascript
jQuery根据ID、CLASS、等获取对象的实例
Dec 04 #Javascript
You might like
iOS10推送通知开发教程
2016/09/19 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
2016/09/22 PHP
php操作redis常见方法示例【key与value操作】
2020/04/14 PHP
得到文本框选中的文字,动态插入文字的js代码
2007/03/07 Javascript
javascript奇异的arguments分析
2010/10/20 Javascript
JavaScript中的null和undefined解析
2012/04/14 Javascript
关于extjs4如何获取grid修改后的数据的问题
2013/08/07 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
2014/07/21 Javascript
EasyUi combotree 实现动态加载树节点
2016/04/01 Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
2017/03/06 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
2018/07/31 Javascript
vue升级之路之vue-router的使用教程
2018/08/14 Javascript
微信小程序实现带缩略图轮播效果
2018/11/04 Javascript
jQuery实现的模仿雨滴下落动画效果
2018/12/11 jQuery
使用Vue 实现滑动验证码功能
2019/06/27 Javascript
[02:57]2014DOTA2国际邀请赛-观众采访
2014/07/19 DOTA
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
[49:12]完美世界DOTA2联赛PWL S2 Magma vs GXR 第二场 11.29
2020/12/02 DOTA
Python使用dis模块把Python反编译为字节码的用法详解
2016/06/14 Python
Python深度优先算法生成迷宫
2018/01/22 Python
python实现比较文件内容异同
2018/06/22 Python
利用python脚本如何简化jar操作命令
2019/02/24 Python
使用pandas的box_plot去除异常值
2019/12/10 Python
如何通过python实现IOU计算代码实例
2020/11/02 Python
python实现数学模型(插值、拟合和微分方程)
2020/11/13 Python
10张动图学会python循环与递归问题
2021/02/06 Python
data:image data url 文件转为Blob上传后端的方法
2019/07/16 HTML / CSS
SEPHORA丝芙兰德国官方购物网站:化妆品、护肤品和香水
2020/01/21 全球购物
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
Tomcat Mysql datasource数据源配置
2015/12/28 面试题
什么是java序列化,如何实现java序列化
2012/11/14 面试题
介绍一下Linux文件的记录形式
2013/09/29 面试题
客服部工作职责范本
2014/02/14 职场文书
护理学专业求职信
2014/06/29 职场文书
党委班子剖析材料
2014/08/21 职场文书
老乡聚会通知
2015/04/23 职场文书