Angularjs `ng repeat`用于数组中包含数组的下拉列表

Angularjs `ng repeat`用于数组中包含数组的下拉列表,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,要在下拉列表的ng repeat中执行以下操作: 从JSON获取变量product 将类别数组分解为新行 使用唯一性进行筛选 下拉显示 我有一个演示,正如你所看到的,我已经实现了过滤器,但我找不到一种方法来打破阵列并对其进行过滤 我的目标是使用请求的JSON创建一个过滤器,并使用可用的类别动态创建一个过滤器。您不需要向控制器注入'angular.filter' app.controller('MainCtrl', ['$scope', '$window', function($scope,

要在下拉列表的
ng repeat
中执行以下操作:

  • 从JSON获取变量
    product
  • 类别
    数组分解为新行
  • 使用
    唯一性进行筛选
  • 下拉显示
我有一个演示,正如你所看到的,我已经实现了过滤器,但我找不到一种方法来打破阵列并对其进行过滤


我的目标是使用请求的JSON创建一个过滤器,并使用可用的类别动态创建一个过滤器。

您不需要向控制器注入
'angular.filter'

app.controller('MainCtrl', ['$scope', '$window', function($scope, $window) {
实际上,这里不需要过滤器,您可以循环遍历类别并将其添加到数组中,如下所示

  $scope.filtered = [];
  angular.forEach($scope.products, function(key, value) {
    angular.forEach(key.categories, function(key, value) {
      if (!$scope.filtered.includes(key)) {
        $scope.filtered.push(key);
      }
    })
  })

我的错误!我按Ctrl+Zing键时把它忘在里面了。现在,它正在正常工作!检查更新的ANSWERIn控制器,您需要通过迭代products数组来映射新的categories数组