日期:2014-05-16  浏览次数:20489 次

js 删除数组的两个方法

js ?数组删除元素:

http://marina1126.iteye.com/blog/739085??

?

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’