Javascript 推送到一个数组并保持数组n个项目的长度

Javascript 推送到一个数组并保持数组n个项目的长度,javascript,Javascript,如何将一个对象推送到一个数组中,然后当数组的大小变为100个项目时,移除第一个项目并再次推,依此类推 它可以是一种方法,如arr.push('log item',100) 如何更好地实现它?myArray.slice(1)将返回一个没有第一项的数组。因此,大致如下: myArray.push(myNewData); if (myArray.length > 100) { myArray = myArray.slice(1); } myArray.slice(1)将返回一个没有第一项的

如何将一个对象推送到一个数组中,然后当数组的大小变为100个项目时,移除第一个项目并再次推,依此类推

它可以是一种方法,如
arr.push('log item',100)
如何更好地实现它?

myArray.slice(1)
将返回一个没有第一项的数组。因此,大致如下:

myArray.push(myNewData);
if (myArray.length > 100) {
  myArray = myArray.slice(1);
}
myArray.slice(1)
将返回一个没有第一项的数组。因此,大致如下:

myArray.push(myNewData);
if (myArray.length > 100) {
  myArray = myArray.slice(1);
}
检查长度

function addTo100(array, newItem){
    if (array.length == 100){
        array.shift();
    }
    array.push(newItem);
    return array;
}
检查长度

function addTo100(array, newItem){
    if (array.length == 100){
        array.shift();
    }
    array.push(newItem);
    return array;
}
当您越过固定长度时,可以简化:

Array.prototype.push_maxlength=函数(项目,长度){
这个.推(项),;
如果(this.length>length){
这个。shift();
}
}
VarA=[1,2,3];
对于(变量i=0;i<10;++i){
a、 推力最大长度(i,5);
log(JSON.stringify(a));
}
当您越过固定长度时,您可以简化:

Array.prototype.push_maxlength=函数(项目,长度){
这个.推(项),;
如果(this.length>length){
这个。shift();
}
}
VarA=[1,2,3];
对于(变量i=0;i<10;++i){
a、 推力最大长度(i,5);
log(JSON.stringify(a));

}
您可能正在寻找以下内容:

if(arr.length === 100)
        arr.shift(); 
arr.push(VAL);
一种更像OP原始请求的方法,用一个新的方法替换
push()
,该方法具有限制数组大小的选项

Array.prototype.originalPush = Array.prototype.push;
Array.prototype.push = function(val,limit)
{
    if(limit && this.length == limit)
        this.shift();
    this.originalPush(val);
}

您可能正在寻找以下内容:

if(arr.length === 100)
        arr.shift(); 
arr.push(VAL);
一种更像OP原始请求的方法,用一个新的方法替换
push()
,该方法具有限制数组大小的选项

Array.prototype.originalPush = Array.prototype.push;
Array.prototype.push = function(val,limit)
{
    if(limit && this.length == limit)
        this.shift();
    this.originalPush(val);
}