AngularJS - 在自定义过滤器中获取对象索引

时间:2016-06-09 12:59:56

标签: javascript jquery angularjs angularjs-ng-repeat

我在控制器中创建了一个自定义过滤器,但无法获得迭代json的索引或大小。调用program.length让我不明确。有什么想法吗?

$scope.filterFn = function(program){
    if(case){
        return true;
    }
    console.log(program.length);//undefined
    return false;       
};

4 个答案:

答案 0 :(得分:2)

尝试使用此代码来获取对象长度。

Object.keys(program).length;

答案 1 :(得分:0)

尝试:How to display length of filtered ng-repeat data,因此您可以按照示例-webkit-font-smoothing: antialiased; text-rendering: optimizelegibility; 访问尺寸。

答案 2 :(得分:0)

此前还有更多过滤器吗? Coz之前的过滤器决定下一个过滤器的输入吗?

答案 3 :(得分:0)

length()方法仅适用于数组[]。

在这种情况下,您试图获取json对象{}的大小,请注意这个长度没有。如果您需要查看此对象中存在多少项,您可以尝试使用Object.keys(program)将所有键转换为数组,这将为您提供一个数组。

如果program最初看起来像这样: {  foo:'一些价值',  吧:'另一个值' }

使用Object.keys(program)将为您提供['foo', 'bar']在这个数组中,您现在可以调用length方法,这样您就可以Object.keys(program).length,在这种情况下会给你2。