array.splice(index,howmanu,后面的参数省略)
官方文档上的解释是前面两个参数是必须的,但是如果未规定第二个参数,则删除从 index 开始到原数组结尾的所有元素。
不太明白这句胡的意思。。既然是必须的,为何又可以不规定呢。。
当我的splice方法中只有一个参数时,比如,我想删除所有元素
var arr=[1,2,3,4,5];
arr.splice(0);
alert(arr.join());//返回1,2,3,4,5
不知为何根本就没有删除。。把Index设置成别的值也不行,总之,如果splice方法的参数如果只有一个,这条语句就失效,忘高手解释原因

解决方案 »

  1.   

    var arr=[1,2,3,4,5];
    arr=arr.splice(0);
    alert(arr.join());//返回1,2,3,4,5
      

  2.   

    为什么splice用一个参数的时候无法删除呢
      

  3.   

    var arr=[1,2,3,4,5];
    arr=arr.splice(0);
    alert(arr.join());//返回1,2,3,4,5这不是删除了吗?splice 返回删除后的数组!并没有改变原数组
      

  4.   

    splice方法是插入或删除数组元素的通用方法。它在原数组上进行修改,就像reverse和sort哪样并不创建新数组。
      

  5.   

    splice()用于删除项目:
    var fruit=['apple','pear','kiwi','pomegranate'];
    fruit.splice(1,2);
    表示从fruit[1]开始删除,并且删除2项.
    所以最后fruit就只剩下2个字符串:'apple'和'pomegranate'.如果你想删除所有的元素,应该这样:
    arr.splice(0,arr.length);
    应该就ok了.