如何使用角度orderBy过滤器按字母顺序对字符串数组进行排序?

时间:2014-10-27 02:13:26

标签: angularjs angularjs-ng-repeat

我有一个包含国家/地区列表的模型

$scope.model = {
    name: "foo",
    countriesVisited: ["CA", "AR", "GB", "FR", "MX", "AU", "IE", "RU", "IT", "ES", "IN", "US", "NL", "DE", "CL", "BR", "JP", "NZ", "PL"]
  }

使用ng-repeat指令按照显示的顺序列出它们。 设置orderBy过滤器会对商品进行排序,但订单看似随机。见plunker

取下过滤器并观察输出偏移。将其粘贴回来并以奇怪的顺序进行。

有没有办法让countriesVisited数组在不将其移动到自己的$ scope变量的情况下进行排序?

2 个答案:

答案 0 :(得分:16)

<li ng-repeat="country in model.countriesVisited | orderBy:'toString()'">

答案 1 :(得分:2)

将您的订单更改为orderBy:&#39; toString()&#39;。默认情况下,基元不会排序,但您可以像我们在这里一样传入函数。