如何使用 javascript 删除数组中最后项目的数量?



考虑我有一个动态数组,我的项目每秒都在递增。 所以我想在数组达到 30 时删除数组中的最后 60 个项目并保留其余项目。也就是说,我只想在数组中维护 30 个项目并删除较旧的项目。

array=[1,2,3,4...........60] //Remove last 30 and show new 30 items
array=[21,22,23...30]

请建议我如何实现这一目标。我的代码

如果你想要的是在第 30 个之后删除元素

array.length=30;

如果您想删除除最后 30 个之外的所有内容

array.splice(0, array.length - 30);

这是两者的演示(使用 10 而不是 30 来提高输出的可读性(

const array = Array.from({length:60}, (_, i) => i);
array.length = 10;
console.log(JSON.stringify(array));
const array2 = Array.from({length:60}, (_, i) => i);
array2.splice(0, array2.length - 10);
console.log(JSON.stringify(array2));

var arr = [1,2,3,4....,60];
function arr_modify(arr,removeLength){
if(arr.length == 60){
arr.splice(0,removeLength)
}
return arr;
}
var modified_array = arr_modify(arr,30);
console.log(modified_array);
console.log(arr);

如果要保留最后 N 个项目,请使用以下代码:

let numberOfItemsToRemain = 5;
let array = [1,2,3,4,5,6,7,8,9,10];
let size = array.length;
array = array.splice(size-numberOfItemsToRemain, size);
console.log(array);

如果要保留前 N 个项目,请使用以下代码:

let numberOfItemsToRemain = 5;
let array = [1,2,3,4,5,6,7,8,9,10];
array = array.splice(0, numberOfItemsToRemain);
console.log(array);
*在您的情况下,将项目数量编辑为 30。

相关内容

最新更新