我知道pop()
将删除JS数组中的最后一个元素,而shift()
将删除第一个元素,而slice()
可让您从数组中删除元素-并且您可以指定从哪个位置开始,以及从哪个位置删除,例如:
let cities = ["New York", "Tokyo", "Perth", "Helsinki"];
cities.splice(2, 2);
console.log(cities);
我想知道的是,是否有一种方法可以用于从某个数组位置开始,并删除该数字之外的其他任何元素?
答案 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);