【问题标题】:Pushing new object and popping the first object of an Array of Objects in JavaScript在 JavaScript 中推送新对象并弹出对象数组的第一个对象
【发布时间】:2019-07-19 08:07:43
【问题描述】:

我正在尝试创建一个始终长度为 5 的对象数组,因此首先推送 5 个对象,当数组的长度达到 5 时,弹出第一个对象并将新对象推送到同一个数组上。并且此操作会在一定的时间间隔内继续进行(On interval of 5 Sec)。

var arr = [{
        name: 'ABC', // Pop the first object when new object is push ..
    }, {
        name: 'ABC',
    }, {
        name: 'ABC',
    }, {
        name: 'ABC',
    }, {
        name: 'ABC',
}];

arr.push({ name: 'ABCNew'});

这可能吗?伙计们,请指导我如何实现此功能?

非常感谢您的帮助,非常感谢!

【问题讨论】:

标签: javascript angular typescript multidimensional-array


【解决方案1】:

试试这个

const add = (arr, ele) => [ele, ...arr].slice(0,5);

console.log(add([1,2,3], 6))
console.log(add([1,2,3,4,5], 6))
console.log(add([{ name: 'ABC' }, { name: 'ABC', }, { name: 'ABC', }, { name: 'ABC', }, { name: 'ABC', }], { name: 'ABCNew'}))
 

【讨论】:

    【解决方案2】:

    我猜你需要一个可以检查数组长度并根据长度推送和删除对象的函数

    var arr = [];
    function pusher(obj){
       arr.push(obj);
       if(arr.length > 5){
           arr.shift();
       }
    }
    

    【讨论】:

    • 这正是我正在寻找的,感谢您的回答
    猜你喜欢
    • 2016-10-29
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多