如何存储最新的100件商品?

时间:2016-07-05 09:53:27

标签: javascript angularjs

在角度中,如何存储最后显示的100个项目。我用'array.push'插入的数组实现了它。如果数组不适用于这种情况,我该怎么办。

代码如下:

        $interval(function()
        {
            $http.get("...")
              .success(function(){
                for(var index in response.logs)
                {
                   $scope.logs.push(response.logs[index]);
                } 
            
              })
        }, 1000);
<div ng-repeat="log in logs">{{log.time}}:&nbsp;&nbsp;{{log.log}}</div>

2 个答案:

答案 0 :(得分:4)

使用.slice

var a = [1,2,3,4,5];
var lastValues = a.slice(-3); // -100 in your situation

// lastValues = [3,4,5]

答案 1 :(得分:0)

我发现这个阵列不是最好的。随着日志以1秒的间隔增加。当数组长度变得太长时,浏览器将变慢,然后冻结。 所以我为这种情况选择了一个循环缓冲区Cbuffer

var cbuffer = new CBuffer(100);      // empty buffer with size of 100
$interval(function()
{
    $http.get("...")
        .success(function(){
        for(var index in response.logs)
        {
            cbuffer.push(response.logs[index]);
            $scope.logs = cbuffer.toArray();
        } 
    })
}, 1000);