现在的位置: 首页 > 综合 > 正文

javascript中数组元素删除

2013年09月10日 ⁄ 综合 ⁄ 共 1265字 ⁄ 字号 评论关闭

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' 
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' 

 

 

下面的代码主要是实现了,删除数组中指定的值。

代码如下:
Array.prototype.remove = function(b) {
var a = this.indexOf(b);
if (a >= 0) {
this.splice(a, 1);
return true;
}
return false;
};

以后使用过程中,就可以直接利用这个函数,删除数组中的值了。

 

抱歉!评论已关闭.