JavaScript 如何从给定数组的末尾删除n个元素
在本文中,我们将学习如何从给定数组的末尾删除最后n个元素。
我们可以通过以下方式从给定数组的末尾删除n个元素:
- 使用splice()方法
- 使用pop()方法
- 使用filter()方法
- 使用Array slice()方法
- 使用while循环
方法1:使用splice()方法
此方法用于通过添加或删除其中的元素来修改数组。该方法接受要进行修改的索引以及要删除的元素数量。要开始删除的索引可以通过从数组的长度减去要删除的元素数量来获得。
语法:
array.splice(start, deleteCount);
示例: 在这个示例中,我们将使用Javascript的 splice() 方法来从给定数组的末尾删除元素。
// Define the array
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log("Original Array:", arr);
// Define the number of elements to remove
let elemsToDelete = 3;
// Using the splice() method to remove from
// the last nth index for n elements
arr.splice(arr.length - elemsToDelete,
elemsToDelete);
console.log("Modified Array:", arr);
输出
Original Array: [
1, 2, 3, 4, 5,
6, 7, 8, 9
]
Modified Array: [ 1, 2, 3, 4, 5, 6 ]
方法2:使用pop()方法
它用于从数组中删除最后一个元素。可以在一个循环的n次迭代中重复此操作,使用while循环删除数组的最后n个元素。
语法:
array.pop();
示例: 在这个示例中,我们将使用Javascript的 pop() 方法来从给定数组的末尾移除元素。
// Define the array
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log("Original Array:", arr);
// Define the number of elements to remove
let elemsToDelete = 5;
// Loop for the number of elements
// to delete
while (elemsToDelete--)
// Pop the last element from the
// end of the array
arr.pop();
console.log("Modified Array:", arr);
输出
Original Array: [
1, 2, 3, 4, 5,
6, 7, 8, 9
]
Modified Array: [ 1, 2, 3, 4 ]
方法3:使用filter()方法
它用于过滤数组并对数组的每个项应用回调函数,并过滤返回值为true的元素。
语法:
Array.filter( callback )
示例: 在这个示例中,我们将使用JavaScript的 filter() 方法来删除给定数组末尾的元素。
// Define the array
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log("Original Array:", arr);
// Define the number of elements to remove
let elemsToDelete = 5;
// Loop for the number of elements
// to delete
let k = arr.filter((x, i) =>
i + elemsToDelete < arr.length)
// Pop the last element from the
// end of the array
console.log("Modified Array:", k);
输出
Original Array: [
1, 2, 3, 4, 5,
6, 7, 8, 9
]
Modified Array: [ 1, 2, 3, 4 ]
方法4:使用Array slice()方法
此方法返回一个包含数组部分的新数组。原始数组保持不变。
语法:
arr.slice(begin, end);
示例:
const arr = [1, 2, 3, 4, 5, 6];
const withoutLast = arr.slice(0, -1);
//orignal array
console.log(arr);
//Modified array
console.log(withoutLast);
输出
[ 1, 2, 3, 4, 5, 6 ]
[ 1, 2, 3, 4, 5 ]
方法5: 使用 while循环
通过使用while循环,我们可以遍历数组,并使用pop()方法从末尾移除元素。
示例:
const arr = [1, 2, 3, 4, 5, 6];
//remove the last 3 elements from an array
let n = 3;
while (n > 0) {
n -= 1;
arr.pop();
}
console.log(arr);
输出
[ 1, 2, 3 ]
极客教程