Javascript ng repeat Limit是否可以应用于json上的repeat而不是数组?
我正在基于json对象的键对其执行ng重复。 现在我可以使用数组对象的ng repeat=“数组中的项| limito:5”将重复项的数量限制为5Javascript 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过滤器的原因是什么?数组在这里会更好
但是,当我尝试执行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还可以控制结果的顺序,这样客户就不会问你为什么每次都会得到相同的数据和不同的结果