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

时间:2019-02-14 13:41:52

标签: javascript arrays

我知道pop()将删除JS数组中的最后一个元素,而shift()将删除第一个元素,而slice()可让您从数组中删除元素-并且您可以指定从哪个位置开始,以及从哪个位置删除,例如:

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

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

3 个答案:

答案 0 :(得分:3)

是的,splice。只是不提供第二个参数

来自Docs

  

deleteCount 可选

     

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

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

console.log(cities)

答案 1 :(得分:0)

仅使用splice提供初始索引,前提是它假定您需要所有其他值,直到数组末尾为止

答案 2 :(得分:0)

如果您不想更改原始数组,请通过传递0作为第一个参数来使用slice()

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);