关于javascript中数组元素删除问题的讨论
2008-04-29 21:16
344 查看
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'
若要删除其中的'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'
相关文章推荐
- 关于javascript中数组元素删除问题的讨论
- 关于javascript中数组元素删除问题的讨论
- JavaScript delete操作符&&javascript中数组元素删除问题的讨论
- javascript中数组元素删除问题的讨论
- javascript中数组元素删除问题的讨论
- JavaScript中关于for循环删除数组元素内容时出现的问题
- 关于html和javascript在浏览器中的加载顺序问题的讨论
- 关于Excel的导出问题(.net方法与javascript方法之间的讨论)
- 关于html和javascript在浏览器中的加载顺序问题的讨论(zz)
- 关于html和javascript在浏览器中的加载顺序问题的讨论(zz)
- 关于删除数组元素的问题
- 关于html和javascript在浏览器中的加载顺序问题的讨论
- 关于html和javascript在浏览器中的加载顺序问题的讨论
- 关于html和javascript在浏览器中的加载顺序问题的讨论
- 关于html和javascript在浏览器中的加载顺序问题的讨论
- 关于Http实时请求重复处理的问题请教和讨论
- 关于System.Web.Script.Serialization.JavaScriptSerializer序列化的数据再Mongodb.CSharp中使用问题
- 关于OpenOffice转换失败,源文件无法删除问题的解决办法
- 关于Weblogic CVE-2016-3510、CVE-2016-0638 相关问题讨论
- 关于单表5-10亿行记录如何快速查询的问题,欢迎童鞋们都进来讨论