0

我有一个名为 Persons 的对象数组,想按其中一个成员进行排序,我是 javascript prorotype 的新手,不知道该怎么做。该对象如下所示:

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

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

因此,对于该对象 Persons 数组,它还有一些项目。我知道我可以通过执行类似的操作来访问该名称this.Persons[0].Name。但是我如何按名称对其进行排序?

太感谢了

4

1 回答 1

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) 如果被排序的两个项目相同

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

于 2012-08-17T18:30:10.100 回答