javascript仅包含最后N个元素的数组

时间:2016-07-13 21:35:28

标签: javascript arrays node.js custom-data-type

是否有一些数据类型的数组只包含最后100个元素? 要么 如何自己做?

当数组长度超过100时,我们可以将数组从0切换到x元素,但效率很低。

2 个答案:

答案 0 :(得分:1)

您可以使用ring buffer

var n = 100;
var a = new Array(n);
var i = 0;

function push(x) {
   i = (i + 1) % n;
   a[i] = x;
}

答案 1 :(得分:0)

您可以使用pushshift

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 ]