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

时间:2018-09-11 09:37:53

标签: javascript arrays

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

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

请建议我如何实现此目标。我的Code

2 个答案:

答案 0 :(得分:3)

如果要在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));

答案 1 :(得分:1)

如果要保留最后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);
*根据情况将numberOfItemsToRemain保持为30。