Javascript 在嵌套json中过滤数据

Javascript 在嵌套json中过滤数据,javascript,json,angularjs,Javascript,Json,Angularjs,我的角度控制器正在跟踪- 如何过滤嵌套数据,如json的第一行- <script> var myApp = angular.module('myApp', ['angular.filter']); function VersionFilterCtrl($scope) { $scope.limit=6; $scope.orders = [ { id:1, customer:[{ name: 'John1', id: 10 },{ name: 'J

我的角度控制器正在跟踪- 如何过滤嵌套数据,如json的第一行-

<script>
  var myApp = angular.module('myApp', ['angular.filter']);
  function VersionFilterCtrl($scope) {  
    $scope.limit=6;
    $scope.orders = [
      { id:1, customer:[{ name: 'John1', id: 10 },{ name: 'John2', id: 100 }] },
      { id:2, customer: { name: 'William', id: 20 } },
      { id:3, customer: { name: 'John', id: 10 } },
      { id:4, customer: { name: 'William', id: 20 } },
      { id:5, customer: { name: 'Clive', id: 30 } }
    ];
  }
</script>

var myApp=angular.module('myApp',['angular.filter']);
函数VersionFilterCtrl($scope){
$scope.limit=6;
$scope.orders=[
{id:1,客户:[{name:'John1',id:10},{name:'John2',id:100}],
{id:2,客户:{name:'William',id:20},
{id:3,客户:{name:'John',id:10},
{id:4,客户:{name:'William',id:20},
{id:5,客户:{name:'Clive',id:30}
];
}
还有我的html

<div ng-app="myApp">
  <div ng-controller="VersionFilterCtrl">
    <input type='text' name='name' ng-model='search.customer.name'>
    <input type='text' name='name' ng-model='search.customer.id'>
    <li ng-repeat="order in orders| filterBy: ['customer.name']: search.customer.name| filterBy: ['customer.id']: search.customer.id">
      {{order.id}}{{order.customer.name}}
    </li>
  </div>
</div>

  • {{order.id}{{order.customer.name}

  • 您在如何设置搜索模型以匹配所筛选数据的结构(即
    search.customer.name
    search.customer.id
    )方面正确地处理了这一问题

    您只需将
    搜索
    对象应用为过滤器:

    <li ng-repeat="order in orders | filter: search">
       {{order.id}} | id: {{order.customer.id}}  name: {{order.customer.name}}
    </li>
    
  • {order.id}}id:{{order.customer.id}}名称:{{order.customer.name}
  • 其他一些问题:

    • 没有
      过滤器by
      (除非您自己创建)
    • 您的第一个订单记录有一系列客户-这是故意的吗?这就解决了那个问题

    请您详细解释一下您想具体搜索什么。