美文网首页饥人谷技术博客
js删除数组元素的方法

js删除数组元素的方法

作者: 辉夜乀 | 来源:发表于2017-04-08 19:06 被阅读451次

    var arr=['a','b','c'];
    若要删除其中的'b',有两种方法:

    1. delete 方法

    delete arr[1] 删除了数组arr中的第二个元素'b',但是数组的长度不变,arr[1]变成了undefined

    var arr = ['a', 'b', 'c'];
    delete arr[1];
    console.log(arr);           //  ["a", undefined × 1, "c"]
    console.log(arr.length);    //  3     
        // delete方法删除数组元素,长度不变,删除的位置变成 undefined
    

    优点:原数组的索引保持不变,其他元素键名保持不变。
    缺点:原数组中有 undefined 元素。

    此时要遍历数组元素可以采用for...in循环

    for(var i in arr){
      console.log(arr[i]);
    }
        //  a  c
        //  for...in 循环遍历数组会跳过 undefined 元素
    

    ** 该方式IE4.o以后都支持了**

    2. splice方法

    arr.splice(1,1),括号中的第一个参数 1 表示,找到下标 1 的元素arr[1],第二个参数 1 表示,从该元素起删除的元素个数。

    var arr = ['a', 'b', 'c'];
    arr.splice(1,1);
    console.log(arr);           //  ["a", "c"]
    console.log(arr.length);    //  2
        //  splice方法删除元素,数组长度改变,删除的元素不保留
    

    优点:原数组中没有 undefined 的元素。
    缺点:原数组的索引改变,其他元素的键名改变。

    此时要遍历数组元素可以采用for...in循环

    for(var i in arr){
      console.log(arr[i]);
    }
        //  a  c
    

    相关文章

      网友评论

        本文标题:js删除数组元素的方法

        本文链接:https://www.haomeiwen.com/subject/tatrattx.html