Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng repeat Limit是否可以应用于json上的repeat而不是数组?_Javascript_Arrays_Json_Angularjs_Angularjs Ng Repeat - Fatal编程技术网

Javascript ng repeat Limit是否可以应用于json上的repeat而不是数组?

Javascript ng repeat Limit是否可以应用于json上的repeat而不是数组?,javascript,arrays,json,angularjs,angularjs-ng-repeat,Javascript,Arrays,Json,Angularjs,Angularjs Ng Repeat,我正在基于json对象的键对其执行ng重复。 现在我可以使用数组对象的ng repeat=“数组中的项| limito:5”将重复项的数量限制为5 但是,当我尝试执行ng repeat=“key in json | limito:5”时,它无法成功地限制重复次数,我应该怎么做?正如我们从文档中看到的: 输入限制为:要限制的源数组、字符串或数字 您可以构建自己的过滤器以达到此限制 有关更多信息,请参阅: 除此之外,当您无法控制顺序时,在对象上使用limitTo过滤器的原因是什么?数组在这里会更好

我正在基于json对象的键对其执行ng重复。 现在我可以使用数组对象的ng repeat=“数组中的项| limito:5”将重复项的数量限制为5


但是,当我尝试执行ng repeat=“key in json | limito:5”时,它无法成功地限制重复次数,我应该怎么做?

正如我们从文档中看到的:

输入限制为:要限制的源数组、字符串或数字

您可以构建自己的过滤器以达到此限制

有关更多信息,请参阅:


除此之外,当您无法控制顺序时,在对象上使用limitTo过滤器的原因是什么?数组在这里会更好。

创建一个自定义过滤器来处理json对象:

app.filter('limitTo', function () {
    return function (jsonItems, limit) {
        var lengthJson = Object.keys(jsonItems).length;
        if (lengthJson<=limit)
            return jsonItems;
        else
        {
            var slicedJsonItems = {};

            //your slicing algorithm here to limit the length

            return slicedJsonItems;
        }
    };
});
app.filter('limito',函数(){
返回函数(jsonItems、limit){
var lengthJson=Object.keys(jsonims).length;

如果(lengthJsonI我从后端java应用程序接收到一个json对象,并在其上重复。因此,将其转换为数组以限制显示项目的数量将增加额外的开销。这是一种开销,但与等待ajax的时间相比,它是不可识别的。当您将其更改为数组时,您可以n还可以控制结果的顺序,这样客户就不会问你为什么每次都会得到相同的数据和不同的结果