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

javascript 删除数组元素

var arr=['a','b','c'];
数组对象splice方法:arr.splice(1,1);

这种方式数组长度相应改变,但是原来的数组索引也相应改变

splice 参数中第一个1,是删除的起始索引(从0算起),在此是数组第二个元素

第二个1,是删除元素的个数,在此只删除一个元素
splice方法在删除数组元素的同时,还可以新增入数组元素

比如arr.splice(1,1,'d','e'),d,e两个元素就被加入数组arr了

结果数组变成arr:'a','d','e','c' 

1’
 Array.prototype.baoremove = function(dx)
 {
  if(isNaN(dx)||dx>this.length){return false;}
  this.splice(dx,1);
 }

 b = ['1','2','3','4','5'];
 b.baoremove(1); //删除下标为1的元素
? 2‘:
var newArry = new Array();
for(var i = 0;i<members.length;i++){
?????? if(pro_member!=members[i]){
?? newArry[newArry.length] =members[i];
?? }??????
}
??? members = newArry.concat();
3‘
delete 方法:delete arr[1]

这种方式数组长度不变,此时arr[1]变为undefined了,
但是也有好处原来数组的索引也保持不变,此时要遍历数组元素才可以用

for(index in arr)

document.write('arr['+index+']='+arr[index]);

这种遍历方式跳过其中undefined的元素

?