Javascript ng选项按键值对中的值排序
我无法按字母顺序排列键值对的值 我使用的样本是Javascript ng选项按键值对中的值排序,javascript,html,angularjs,ng-options,angularjs-select,Javascript,Html,Angularjs,Ng Options,Angularjs Select,我无法按字母顺序排列键值对的值 我使用的样本是 "week_days_short":[ {"key":"1","value":"Mon"}, {"key":"2","value":"Tue"}, {"key":"4","value":"Thu"}, {"key":"3","value":"Wed"}, {"key":"5","value":"Fri"}, {"key":"6","value":"Sat"}, {"key":"7","valu
"week_days_short":[
{"key":"1","value":"Mon"},
{"key":"2","value":"Tue"},
{"key":"4","value":"Thu"},
{"key":"3","value":"Wed"},
{"key":"5","value":"Fri"},
{"key":"6","value":"Sat"},
{"key":"7","value":"Sun"}
]
我使用了以下代码
ng-options="key as value for (key, value) in
properties.week_days_short |
orderBy:'value' track by value"
但排序没有发生。有什么建议吗?我想它可以帮助你
ng-options="key as value.sort((a, b) => a.key.localeCompare(b.key)) for (key, value) in
properties.week_days_short |
orderBy:'value' track by value"
这是参考资料:
角度。模数PP,[]
.controllerctrl,函数$scope{
$scope.properties={
周\天\短:[
{key:1,value:Mon},
{key:2,value:Tue},
{key:4,value:Thu},
{key:3,value:Wed},
{键:5,值:Fri},
{key:6,value:Sat},
{键:7,值:Sun}
]};
}
选择={{selection}}
按字母顺序选择
选择日期
因为HTML中的orderBy在对象上不起作用,而week_days_short是数组。所以在控制器上排序解决了我的问题
Object.values($scope.properties.week_days_short).sort()
AngularJS表达式中不允许使用胖箭头函数。有关更多信息,请参阅。如果输入为数组,则您共享的代码可以正常工作。但我的输入是object,所以我最终在controller中编写了一个排序函数。