求教javascript中如何实现数组中的元素删除和添加
例如a= [0,5,7,8,11,21,33]先在想将a[3]位删除或在a[3]位后加一个数子4数组变成a=[0,5,7,8,4,11,21,33]
用a.splice(3,0)a.splice(3,1,4)可以实现,但当a[3]位为一个变量时a[i]位时var i=3; a.splice(i,0)a.splice(i,1,4)就不行了。
求教有没有方法向数组的变量位中添加一个变量的方法和删除变量位的方法。

解决方案 »

  1.   

    检查你自己的代码是否写错了:
    var a = [0,5,7,8,11,21,33];
    alert(a);
    var i=3;
    a.splice(i,1);  // 你写成了 a.splice(i,0);
    alert(a);
    a.splice(i,0,4); // 貌似你这里 a.splice(i,1,4); 也不是你的本意
    alert(a);
      

  2.   

    splice 方法
    应用于:Array 对象
    从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
    参数
    arrayObj 
    必选项。一个 Array 对象。 
    start 
    必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。 
    deleteCount 
    必选项。要移除的元素的个数。 
    item1, item2,. . .,itemN 
    必选项。要在所移除元素的位置上插入的新元素。 
    说明
    splice 方法可以移除从 start 位置开始的指定个数的元素并插入新元素,从而修改 arrayObj。返回值是一个由所移除的元素组成的新 Array 对象。