Javascript 按字母顺序排序数组-Angularjs

Javascript 按字母顺序排序数组-Angularjs,javascript,angularjs,filter,angular-ngmodel,angular-filters,Javascript,Angularjs,Filter,Angular Ngmodel,Angular Filters,我这里有我的结果 <div ng-repeat="o in vm.gridOptions.data | filter:filt | oderBy : 'title'"> <span>{{o.title}}</span> </div> 最初,我将orderBy:“title”。但这应该在我选择下拉菜单之后发生。如何实现这一点?您可以尝试以下方法: 您可以尝试以下方法: 非常简单 你想按字母顺序排序。。意味着您必须将值作为'title'传递给

我这里有我的结果

<div ng-repeat="o in vm.gridOptions.data | filter:filt | oderBy : 'title'">
    <span>{{o.title}}</span>
</div>
最初,我将orderBy:“title”。但这应该在我选择下拉菜单之后发生。如何实现这一点?

您可以尝试以下方法:

您可以尝试以下方法:

非常简单

你想按字母顺序排序。。意味着您必须将值作为
'title'
传递给您的选项
“字母顺序”
。 因为根据“标题”结果将进行排序

<select ng-model="filt">
    <option value="-1">vsf</option>
    <option value="title">Alphabetical</option>
    <option>sccc</option>                                    
</select>

vsf
按字母顺序排列的
sccc
然后在你的部门

<div ng-repeat="o in vm.gridOptions.data | orderBy:filt">

orderBy:filt
将仅对您的
选项值='title'
执行。这就是进行排序的地方

非常简单

<select ng-model="filt">
  <option>Alphabetical</option>
  <option>k</option>
</select>
<p ng-if="filte=(filt=='Alphabetical')?'':'o.title' "></p>
<div ng-repeat="o in vm.gridOptions.data | orderBy: filte">
<span>{{o.title}}</span>
你想按字母顺序排序。。意味着您必须将值作为
'title'
传递给您的选项
“字母顺序”
。 因为根据“标题”结果将进行排序

<select ng-model="filt">
    <option value="-1">vsf</option>
    <option value="title">Alphabetical</option>
    <option>sccc</option>                                    
</select>

vsf
按字母顺序排列的
sccc
然后在你的部门

<div ng-repeat="o in vm.gridOptions.data | orderBy:filt">

orderBy:filt
将仅对您的
选项值='title'
执行。这就是进行排序的地方


<select ng-model="filt">
  <option>Alphabetical</option>
  <option>k</option>
</select>
<p ng-if="filte=(filt=='Alphabetical')?'':'o.title' "></p>
<div ng-repeat="o in vm.gridOptions.data | orderBy: filte">
<span>{{o.title}}</span>
按字母顺序排列的 K

{{o.title}}


按字母顺序排列的
K

{{o.title}}

如果在
控制器中进行过滤和排序,效果会更好。
您可以根据需要更改
Array.prototype.sort()
函数

控制器

$scope.data=[{
    "title" : "gggg"
},{
    "title" : "cccc"
},{
    "title" : "zzzz"
},{
    "title" : "aaaa"
}];
$scope.sortvalue = "None";

$scope.changeSortOrder = function()
{
  if($scope.sortvalue == "Alphabetically")
  {
    $scope.data.sort(function(a, b){
      if(a.title < b.title) return -1;
      if(a.title > b.title) return 1;
      return 0;
    });
  }
}
$scope.data=[{
“标题”:“gggg”
},{
“标题”:“中交”
},{
“标题”:“zzzz”
},{
“标题”:“aaaa”
}];
$scope.sortvalue=“无”;
$scope.changesorder=函数()
{
如果($scope.sortvalue==“按字母顺序”)
{
$scope.data.sort(函数(a,b){
如果(a.titleb.title)返回1;
返回0;
});
}
}
HTML


{{o.title}}
选择一个选项
按字母顺序


是使用
Array.prototype.sort()
对数组进行排序的示例列表

如果您在
控制器中执行筛选和排序,效果会更好。
您可以根据需要更改
Array.prototype.sort()
函数

控制器

$scope.data=[{
    "title" : "gggg"
},{
    "title" : "cccc"
},{
    "title" : "zzzz"
},{
    "title" : "aaaa"
}];
$scope.sortvalue = "None";

$scope.changeSortOrder = function()
{
  if($scope.sortvalue == "Alphabetically")
  {
    $scope.data.sort(function(a, b){
      if(a.title < b.title) return -1;
      if(a.title > b.title) return 1;
      return 0;
    });
  }
}
$scope.data=[{
“标题”:“gggg”
},{
“标题”:“中交”
},{
“标题”:“zzzz”
},{
“标题”:“aaaa”
}];
$scope.sortvalue=“无”;
$scope.changesorder=函数()
{
如果($scope.sortvalue==“按字母顺序”)
{
$scope.data.sort(函数(a,b){
如果(a.titleb.title)返回1;
返回0;
});
}
}
HTML


{{o.title}}
选择一个选项
按字母顺序


是使用
Array.prototype.sort()对数组进行排序的示例列表

var myApp=angular.module('myApp',[]);
myApp.controller('MyCtrl',函数($scope){
$scope.data=[{
“标题”:“aaa”
},{
“标题”:“ggg”
},{
“标题”:“ccc”
},{
“标题”:“bbb”
}];
});

vsf
按字母顺序排列的
sccc
{{o.title}}

试试这个方法:

var myApp=angular.module('myApp',[]);
myApp.controller('MyCtrl',函数($scope){
$scope.data=[{
“标题”:“aaa”
},{
“标题”:“ggg”
},{
“标题”:“ccc”
},{
“标题”:“bbb”
}];
});

vsf
按字母顺序排列的
sccc
{{o.title}}

按字母顺序
数组中有任何列吗?没有。。。字母顺序只是选择下拉列表中的一个选项。@Matarishvan您是否检查了我的答案?
字母顺序
数组中是否有列?否。。。字母顺序只是选择下拉列表中的一个选项。@Matarishvan您检查过我的答案了吗?