Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从数组中删除除最后N个元素以外的所有元素?_Javascript - Fatal编程技术网

Javascript 如何从数组中删除除最后N个元素以外的所有元素?

Javascript 如何从数组中删除除最后N个元素以外的所有元素?,javascript,Javascript,我有一个数组。我有一个变量,显示数组中最后必须保留多少元素。有没有这样的功能?例如: var arr = [1, 2, 3, 4, 5]; var n = 2; arr = someFunction(n); // arr = [4, 5]; 我想要一个包含最后n元素的数组。切片方法就是您想要的。它返回一个新对象,因此必须用新对象替换现有对象 arr = arr.slice(-1 * n); 或者,使用splice()修改现有阵列 拼接效率更高,因为它不复制元素。arr.slice(-2)返回

我有一个数组。我有一个变量,显示数组中最后必须保留多少元素。有没有这样的功能?例如:

var arr = [1, 2, 3, 4, 5];
var n = 2;
arr = someFunction(n); // arr = [4, 5];

我想要一个包含最后
n
元素的数组。

切片方法就是您想要的。它返回一个新对象,因此必须用新对象替换现有对象

arr = arr.slice(-1 * n);
或者,使用
splice()
修改现有阵列


拼接效率更高,因为它不复制元素。

arr.slice(-2)
返回
[4,5]
arr=arr.slice(~n+1)“删除数组的最后一部分”“数组中的“”必须保留在末尾”。这些是完全相反的-你想保留或删除结束?您是要提取结尾还是删除它?@H2Oooooooo请看我的编辑,应该很清楚。@WesleyMurch:您怎么知道我们是否要修改原始数组?您可以直接执行
-n
,而不是
-1*n
。当然可以。不管你喜欢什么。只是想澄清一下这对某人来说是否有意义:
splice
将返回第一组元素,但它也将从实际数组中删除它们。更多信息:
arr.splice(0, arr.length - n);