浅谈使用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 相关文章推荐
javascript 类方法定义还是有点区别
Apr 15 Javascript
js左侧多级菜单动态的解决方案
Feb 01 Javascript
基于jquery的商品展示放大镜
Aug 07 Javascript
Jquery中getJSON在asp.net中的使用说明
Mar 10 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
Aug 24 Javascript
JS数组合并push与concat区别分析
Dec 17 Javascript
Vue单页式应用(Hash模式下)实现微信分享的实例
Jul 21 Javascript
微信小程序之页面拦截器的示例代码
Sep 07 Javascript
微信小程序日历组件使用方法详解
Dec 29 Javascript
原生js添加一个或多个类名的方法分析
Jul 30 Javascript
swiper自定义分页器的样式
Sep 14 Javascript
vue 使用rules对表单字段进行校验的步骤
Dec 25 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
解析php时间戳与日期的转换
2013/06/06 PHP
php将字符串转换成16进制的方法
2015/03/17 PHP
PHP实现带重试功能的curl连接示例
2016/07/28 PHP
php基于闭包实现函数的自调用(递归)实例分析
2016/11/11 PHP
PHP实现的DES加密解密封装类完整实例
2017/04/29 PHP
解决 FireFox 下[使用event很麻烦] 的问题.
2006/08/22 Javascript
js不是基础的基础
2006/12/24 Javascript
javascript 操作cookies及正确使用cookies的属性
2009/10/15 Javascript
jQuery中获取Radio元素值的方法
2013/07/02 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
整理Javascript数组学习笔记
2015/11/29 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
package.json文件配置详解
2017/06/15 Javascript
详解Vue实战指南之依赖注入(provide/inject)
2018/11/13 Javascript
原生js实现3D轮播图
2020/03/21 Javascript
vue.js实现只能输入数字的输入框
2019/10/19 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
2020/10/21 Javascript
[01:19]DOTA2城市挑战赛报名开始 开启你的城市传奇
2018/03/23 DOTA
Python使用Supervisor来管理进程的方法
2015/05/28 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
Python语法之精妙的十个知识点(装B语法)
2020/01/18 Python
Python super()方法原理详解
2020/03/31 Python
python多进程下的生产者和消费者模型
2020/05/07 Python
Python urllib.request对象案例解析
2020/05/11 Python
使用pyplot.matshow()函数添加绘图标题
2020/06/16 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
Redbubble法国:由独立艺术家设计的独特产品
2019/01/08 全球购物
英语国培研修感言
2014/02/13 职场文书
《草原》教学反思
2014/02/15 职场文书
纠风工作实施方案
2014/03/15 职场文书
作文批改评语大全
2014/04/23 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书
员工工作心得体会
2019/05/07 职场文书
Python使用PyYAML库读写yaml文件的方法
2022/04/06 Python