显示数组变量的计数/长度

时间:2015-02-26 14:00:09

标签: arrays angularjs

我试图准确显示我拥有的数组变量的数量,而不仅仅是数组中的项目,而是其中一个'标记'分配给它。

$scope.products = [
    {
      too: 'xxx-xxx-xxx',
       foo:  'xxx',
        bar: 'xxx-xxx',
                }
                }
            ];

当我尝试列出其中一个'标签的长度时。例如" Foo"。

使用{{foo.length}}无效。

我希望我的HTML看起来像这样:

菜单1(1)< ---这是" foo"值。

* foo值将根据'项目的数量而变化。我有我的数组,所以如果我有这样的数组:

   $scope.products = [
                   {
          too: 'xxx-xxx-xxx',
           foo:  'xxx',
            bar: 'xxx-xxx',
                    }
            {
              too: 'yyy-yyy-yyy',
               foo:  'yyy',
                bar: 'yyy-yyy',
                        }
                        }
                    ];

HTML会反映我现在已经拥有了' 2'它的价值是“foo'”,所以它会说 菜单1(2),依此类推......我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以编写一个javascript函数并调用它。 (更新为仅计算独特的foos)

$scope.countUniqueFoos = function () {
    var uniqueFoos = []; //you could also keep this as a $scope variable if needed
    $scope.products.forEach( function (product) {
        if (product.hasOwnProperty('foo') && uniqueFoos.indexOf(product.foo) == -1) {
             uniqueFoos.push(product.foo);
        }
    });
    return uniqueFoos.length;
};

在HTML中:

<div>NumFoos: {{countUniqueFoos()}}</div>