WEB开发网
开发学院网页设计JavaScript 讨论关于javascript中数组元素的删除问题 阅读

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

 2007-12-11 20:51:49 来源:WEB开发网   
核心提示: 在javascript中数据元素的删除我一直没有搞太问题,今天就我已知的东东拿出来与大家讨论一下:var arr=[a,b,c]; 若要删除其中的b,有两种方法: 1.delete方法:delete arr[1] 这种方式数组长度不变,此时arr[1]变为undefined了,但是也有好处原来数组的索引也保持不变,

   在javascript中数据元素的删除我一直没有搞太问题,今天就我已知的东东拿出来与大家讨论一下:

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 

技术交流 永无止境

Tags:讨论 关于 javascript

编辑录入:coldstar [复制链接] [打 印]
赞助商链接