Есть ли какой-то тип данных, например массив, который содержит только последние 100 элементов? Или как это сделать самостоятельно?
Мы можем просто разрезать массив от 0 до элемента x, когда длина массива будет больше 100, но это неэффективно.
Есть ли какой-то тип данных, например массив, который содержит только последние 100 элементов? Или как это сделать самостоятельно?
Мы можем просто разрезать массив от 0 до элемента x, когда длина массива будет больше 100, но это неэффективно.
Вы можете использовать кольцевой буфер:
var n = 100;
var a = new Array(n);
var i = 0;
function push(x) {
i = (i + 1) % n;
a[i] = x;
}
Вы можете использовать push
и shift
:
var a = [];
function append(value) {
a.push(value);
while (a.length > 10) {
a.shift();
}
}
for (var i = 0; i < 75; i++) {
append(i);
}
console.log(a);
// Output:
// [ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 ]