从数组JavaScript中删除并返回最后n个项的最快方法

Fastest way to delete and return last n items from an array JavaScript

本文关键字:方法 最后 JavaScript 数组 删除 返回      更新时间:2023-09-26

如果我在JavaScript中有一个数组,我如何从中删除最后n项并将其作为新数组返回?

我有两个选项,拼接或迭代弹出/推送。哪个更好?

感谢

您应该拼接它:

array.splice(array.length-n, array.length);

因此:

function removeLast(arr, n){
    arr.splice(arr.length-n, arr.length);
    return arr;
}
arr = JSON.parse(prompt("Enter the array"));
n = parseInt(prompt("Enter the number of elements you want to remove"), 10);
alert(removeLast(arr, n));


> removeLast([1, 2, 3, 4, 5], 3)
[1, 2]
> removeLast([1, 2, 3, 4, 5], 2)
[1, 2, 3]
> removeLast([1, 2, 3, 4, 5], 1)
[1, 2, 3, 4]

为了好玩,我做了一个快速的jsperf测试来比较的两种方法

http://jsperf.com/splicevspop

拼接明显更快

相关文章: