当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 关于javascript中数组元素删除问题的讨论

Javascript
js 创建一个浮动div的代码
javascript下利用数组缓存正则表达式的实现方法
javascript 最常用的10个自定义函数[推荐]
jQuery 常见开发使用技巧总结
十分钟打造AutoComplete自动完成效果代码
JavaScript 入门基础知识 想学习js的朋友可以参考下
javascript 清空form表单中某种元素的值
javascript 格式化时间日期函数代码脚本之家修正版
javascript dom操作之cloneNode文本节点克隆使用技巧
jQuery 动态酷效果实现总结
jQuery中的常用事件总结
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
javascript+css 网页每次加载不同样式的实现方法
向大师们学习Javascript(视频与PPT)
js 实现无干扰阴影效果 简单好用(附文件下载)
JavaScript 拾漏补遗
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
jQuery的强大选择器小结
jquery $(document).ready() 与window.onload的区别
javascript 动态调整图片尺寸实现代码

Javascript 中的 关于javascript中数组元素删除问题的讨论


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 143 ::
收藏到网摘: n/a

var arr=['a','b','c'];
若要删除其中的'b',有两种方法:
 
1.delete方法:delete arr[1]
这种方式数组长度不变,此时arr[1]变为undefined了,但是也有好处原来数组的索引也保持不变,此时要遍历数组元素可以才用
for(index in arr)
   document.write('arr['+index+']='+arr[index]);
这种遍历方式跳过其中undefined的元素

* 该方式IE4.o以后都支持了

2.数组对象splice方法:arr.splice(1,1);
这种方式数组长度相应改变,但是原来的数组索引也相应改变
splice参数中第一个1,是删除的起始索引(从0算起),在此是数组第二个元素
第二个1,是删除元素的个数,在此只删除一个元素,即'b';
此时遍历数组元素可以用普通遍历数组的方式,比如for,因为删除的元素在
数组中并不保留

* 该方法IE5.5以后才支持

值得一提的是splice方法在删除数组元素的同时,还可以新增入数组元素
比如arr.splice(1,1,'d','e'),d,e两个元素就被加入数组arr了
结果数组变成arr:'a','d','e','c'