代码之家  ›  专栏  ›  技术社区  ›  Rey

从特定位置开始删除未知数量的数组元素

  •  0
  • Rey  · 技术社区  · 6 年前

    我知道 pop() 将删除JS数组中的最后一个元素,并且 shift() 将删除第一个,并且 slice() 允许您从数组中移除元素,并且可以指定从哪个位置开始以及移除多少元素,如下所示:

    let cities = ["New York", "Tokyo", "Perth", "Helsinki"];
    cities.splice(2, 2);
    console.log(cities);

    我想知道的是,是否有一种方法可以用于从某个数组位置开始,并删除该数字之外的任何其他元素?

    4 回复  |  直到 6 年前
        1
  •  3
  •   Yury Tarabanko    6 年前

    是 啊, splice . 只是不要提供第二个论点

    Docs

    删除计数 可选的

    如果省略deleteCount,或者其值大于array.length -start(也就是说,如果它大于数组中剩余的元素数,则从start开始),则从start开始的所有元素 通过数组的末尾将被删除。

    let cities = ["New York", "Tokyo", "Perth", "Helsinki"];
    cities.splice(2)
    
    console.log(cities)
        2
  •  0
  •   Monday A Victor    6 年前

    只需使用splice提供初始索引,它将假定您希望在数组结束之前每隔一个值

        3
  •  0
  •   Maheer Ali    6 年前

    如果不想更改原始数组的使用 slice() 路过 0 作为第一个论点

    let cities = ["New York", "Tokyo", "Perth", "Helsinki","Landon"];
    let number = 1
    console.log(cities.slice(0,number));

    你可以用 splice() 如果要修改原始数组。

    let cities = ["New York", "Tokyo", "Perth", "Helsinki","Landon"];
    let number = 1
    cities.splice(number); 
    console.log(cities);