Javascript 对angularjs过滤器中的嵌套数组(2D数组)进行排序
如何从angularjs的过滤器中对嵌套数组(2D数组)进行排序。这对我来说很复杂。任何人都可以帮忙。我很感激你。谢谢 我有一个二维数组。现在我如何在ng重复中对其进行排序 模板文件Javascript 对angularjs过滤器中的嵌套数组(2D数组)进行排序,javascript,angularjs,multidimensional-array,angularjs-ng-repeat,angularjs-filter,Javascript,Angularjs,Multidimensional Array,Angularjs Ng Repeat,Angularjs Filter,如何从angularjs的过滤器中对嵌套数组(2D数组)进行排序。这对我来说很复杂。任何人都可以帮忙。我很感激你。谢谢 我有一个二维数组。现在我如何在ng重复中对其进行排序 模板文件 <ul> <span ng-repeat="list in lists"> <li ng-repeat="list_ in list.list1 | orderBy:'name'">{{list_.name}}</li> </span>
<ul>
<span ng-repeat="list in lists">
<li ng-repeat="list_ in list.list1 | orderBy:'name'">{{list_.name}}</li>
</span>
</ul>
要回答如何使用angularjs过滤器对嵌套数组进行排序的问题,您实际上已经在这样做了。您的数据不清楚,因此我对其进行了扩展,以显示已经发生的情况: js html
-
{{sublist.name}
----------
输出:
如果这不是回答如何使用angularjs过滤器对嵌套数组进行排序的问题所需的行为,您可能需要进一步扩展您的问题,实际上您已经在这样做了。您的数据不清楚,因此我对其进行了扩展,以显示已经发生的情况: js html
-
{{sublist.name}
----------
输出:
如果这不是您需要的行为,您可能需要进一步展开您的问题。可以通过展平阵列来实现,使用自定义过滤器将所有内部对象放在同一级别上 标记
<body ng-app="myApp" ng-controller="myCon">
<ul>
<span ng-repeat="list in lists | flatten | orderBy:'+name'">
<li>{{list.name}}</li>
</span>
</ul>
</body>
可以通过展平阵列来实现,阵列将使用自定义过滤器在同一级别上显示所有内部对象 标记
<body ng-app="myApp" ng-controller="myCon">
<ul>
<span ng-repeat="list in lists | flatten | orderBy:'+name'">
<li>{{list.name}}</li>
</span>
</ul>
</body>
谢谢。但不排序单独的内部索引。i、 e.所有内部索引排序。比如:A,B,C,M,T,X,Y,Zin在这种情况下,你的问题已经被问到了,并且已经得到了回答:谢谢。但不排序单独的内部索引。i、 e.所有内部索引排序。比如:A,B,C,M,T,X,Y,Zin在这种情况下,您的问题已经被问到并得到了回答:@Sandeep很高兴帮助您..谢谢:)@Sandeep Accept表示您需要单击我答案上下箭头旁边的绿色标记..查看此帖子了解更多详细信息@Sandeep很高兴帮助您..谢谢:)@Sandeep Accept表示您需要单击我答案上下箭头旁边的绿色标记..查看更多详情,请点击本帖
<ul>
<span ng-repeat="list in lists">
<li ng-repeat="sublist in list.list1 | orderBy:'name'">
{{sublist.name}}
</li>
----------
</span>
</ul>
<body ng-app="myApp" ng-controller="myCon">
<ul>
<span ng-repeat="list in lists | flatten | orderBy:'+name'">
<li>{{list.name}}</li>
</span>
</ul>
</body>
app.filter('flatten', function(){
return function(array){
var flattenArray = [];
angular.forEach(array, function(value, index){
angular.forEach(value.list1, function(val, index){
flattenArray.push(val);
})
})
return flattenArray;
}
})