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
Javascript 如何订购ng重复项目?_Javascript_Angularjs - Fatal编程技术网

Javascript 如何订购ng重复项目?

Javascript 如何订购ng重复项目?,javascript,angularjs,Javascript,Angularjs,选择的“我的选项”对象如下所示: { 3 : 'c', 5 : 'a', 6 : 'b', ... } <option ng-repeat="(k,v) in field.options" value="{{k}}">{{v}}</option> 我的重复是这样的: { 3 : 'c', 5 : 'a', 6 : 'b', ... } <option ng-repeat="(k,v) in fie

选择的“我的选项”对象如下所示:

{
    3 : 'c',
    5 : 'a',
    6 : 'b',
    ...
}
<option ng-repeat="(k,v) in field.options" value="{{k}}">{{v}}</option>
我的重复是这样的:

{
    3 : 'c',
    5 : 'a',
    6 : 'b',
    ...
}
<option ng-repeat="(k,v) in field.options" value="{{k}}">{{v}}</option>
{{v}
我想按值(v)排序,但据我所知,
orderBy
仅适用于对象的键,而该键不适用于此格式。

如中所述,
orderBy
仅适用于数组。因此,您可以将对象转换为数组,只需调用
sort()


orderBy还具有一个函数,允许您设置自定义排序。在这种情况下,在将字符串添加到作用域后,我应该可以说
orderBy:String(v)
,但这不起作用。主题外,但如果您不需要每个选项的作用域开销,您可以改用
ngOptions
。@adam0101 Angular在我使用
ngOptions
时并不总是呈现选项,因为我异步获取select和选项的值。很难解释,但这是最好(唯一)的选择。这很奇怪。我以前异步使用过
ngOptions
,没有任何问题。事实上,我确实这样做了,它做到了。问题是重写所有只通过键访问值的代码,因为我现在必须遍历列表来执行等效操作。它仍然很快,但也许我会对数组进行排序并进行二进制搜索?数组看起来像[{k:'key',v:'value'},…]等等]。