数组排序在移动浏览器中的行为不正确

时间:2016-12-29 08:51:13

标签: angularjs

我需要通过电子邮件ID对一组对象进行排序,其中电子邮件ID是对象键。我也有一个排序功能。例如:

var bills=[name: "somename",email:"email@domain.com", name:"somename2",email:"email2@domain.com"]

/* sort function */
function sortArray(bills,email) {
 bills.sort(function (a,b) {
 return a[email] > b[email];
 });
}

在桌面浏览器中测试时,数组按电子邮件ID按升序排序,但未在移动浏览器中排序(IOS:safari& chrome)。它出现在数组中。有趣的是,在broswer中,即使在应用sort函数之前,数组也按升序按电子邮件ID排序。我尝试了stackoverflow存档,这是我可以接近的最近:My Angular JS app works in desktop browser, but not in a mobile browser但它似乎没有特别解决这个问题,因为应用程序的其他区域正在按预期工作。如果有人能帮助我,我将不胜感激。谢谢你的时间。

此致 AJ

1 个答案:

答案 0 :(得分:1)

我设法使用角度过滤器解决了这个问题

$scope.array = $filter('orderBy')($scope.array,'payee');

payee是数组$ scope.array中对象的对象属性之一。