• 首页
  • 小学语文
  • 中学语文
  • 中学英语
  • 免费论文
  • 教学随笔
  • 学生作文
  • 综合考试
  • 试题教案
  • 育儿话题
  • 教学资源
  • 编程技术
  • 博客
  • 关于javascript中数组元素删除问题的讨论

    日期:2003-02-12  地址:  作者:

    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' 

    对 关于javascript中数组元素删除问题的讨论 文章的评论    [查看网友评论]

    验证码:
    匿名发表: