Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng选项按键值对中的值排序_Javascript_Html_Angularjs_Ng Options_Angularjs Select - Fatal编程技术网

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中编写了一个排序函数。