使用原型对对象进行排序

时间:2012-08-17 18:23:17

标签: javascript prototypejs

我有一个名为Persons的对象数组,并希望按其成员之一排序,我是javascript prorotype的新手,不知道如何做到这一点。该对象如下所示:

[ Object { EntityId=0, Name="Edibert", Number="1234", Value=""}]

[ Object { EntityId=0, Name="Jairo", Number="1234", Value=""}]

因此,对象人员数组中还有一些项目。我知道我可以通过this.Persons[0].Name这样的方式访问该名称。但我如何按名称对其进行排序?。

非常感谢你

1 个答案:

答案 0 :(得分:1)

你可以在没有原型的情况下做到这一点:

Persons.sort(function(a,b) {
    if(a.Name < b.Name) { return -1; }
    if(a.Name > b.Name) { return 1; }
    return 0;
});

sort函数中使用所需对象的任何属性,只要您返回以下值之一:

  • ( - 1)如果a出现在最终数组中的b之前
  • (1)如果a出现在b
  • 之后
  • (0)如果要排序的两个项目相同

实际上,任何负数或正数都可以作为返回值,但-11是常规数字。