zoukankan      html  css  js  c++  java
  • JS数组移除元素的方法

    1. 修改Arr的length
      let arr = [1,2,3,4,5,6,7,8,9];
      arr.length = 3;
      console.log('length',arr.length);
      console.log('arr',arr);

    2.delete (修改Arr的内容,但length不变)
    let arr = [1,2,3,4,5,6,7,8,9];
    delete arr[2];
    console.log('length',arr.length);
    console.log('arr',arr);

    3.pop(栈方法,删除Arr的最后一个元素)
    let arr = [1,2,3,4,5,6,7,8,9];
    arr.pop();
    console.log('length',arr.length);
    console.log('arr',arr);

    4.shift(删除Arr的第一位元素)
    let arr = [1,2,3,4,5,6,7,8,9];
    arr.shift();
    console.log('length',arr.length);
    console.log('arr',arr);

    5.splice(可以对Arr进行增删改操作, 这里只写删除方法)
    let arr = [1,2,3,4,5,6,7,8,9];
    arr.splice(0,2);
    // 第一位参数 0: 代表的是起始下标注
    // 第二位参数 2: 代表的是删除的位数
    console.log('length',arr.length);
    console.log('arr',arr);

    6.forEach || filter (通过迭代循环,删除元素)
    let arr = [1,2,3,4,5,6,7,8,9];
    arr.forEach((item,index,arr) => {
    if(item === 3){
    arr.splice(index,1)
    }
    });
    console.log('length',arr.length);
    console.log('arr',arr);
    let arr = [1,2,3,4,5,6,7,8,9];
    arr = arr.filter((item)=>{
    return item !== 3
    });
    console.log('length',arr.length);
    console.log('arr',arr);

    7.操作原型(通过在Array原型上添加方法来完成删除)
    let arr = [1,2,3,4,5,6,7,8,9];
    Array.prototype.remove = function(v) {
    if(isNaN(v) || v > this.length){
    return false
    }
    for(let i = 0, j = 0; i < this.length; i++) {
    if(this[i] != this[v]){
    this[j++] = this[i]
    }
    }
    this.length -= 1
    }
    arr.remove(2) //参数为下标
    console.log('length',arr.length);
    console.log('arr',arr);

    转载 https://blog.csdn.net/u010323023/article/details/52700770

  • 相关阅读:
    349. Intersection of Two Arrays
    346. Moving Average from Data Stream
    345. Reverse Vowels of a String
    344. Reverse String
    342. Power of Four
    POJ2823 Sliding Window
    《STL源码剖析》笔记
    [jobdu]扑克牌顺子
    [jobdu]第一个只出现一次的字符
    [jobdu]包含min函数的栈
  • 原文地址:https://www.cnblogs.com/ianlab/p/13224301.html
Copyright © 2011-2022 走看看