Javascript 按姓氏、名-降序排列数组中包含的对象

Javascript 按姓氏、名-降序排列数组中包含的对象,javascript,Javascript,给定以下数组,我们如何编写代码,按姓氏、名降序对包含的对象进行排序 [ {key: 1, firstName: "George", lastName: "Jones"}, {key: 1, firstName: "Alison", lastName: "Clarke"}, {key: 1, firstName: "Ben", lastName: "Smith"}, {key: 1, firstName: "Xavier", lastName: "Clark"}, {key: 1, firstNa

给定以下数组,我们如何编写代码,按姓氏、名降序对包含的对象进行排序

[
{key: 1, firstName: "George", lastName: "Jones"},
{key: 1, firstName: "Alison", lastName: "Clarke"},
{key: 1, firstName: "Ben", lastName: "Smith"},
{key: 1, firstName: "Xavier", lastName: "Clark"},
{key: 1, firstName: "Harold", lastName: "Timmins"}
]
我不知道该怎么做,我想你们会帮忙的


谢谢

编写您自己的
比较器
,该比较器使用您上面编写的逻辑来比较对象,并使用它调用
数组的排序

这在Java或JavaScript中基本相同,只是在Java中,
Comparator
需要是实现
Comparator
接口的类的对象,而在JavaScript中,只需一个函数就足够了。这在某种程度上突出了JavaScript的功能方面和Java的面向对象特性。

在JavaScript中:

myarray.sort(function(a, b) {
    return b.lastName.localeCompare(a.lastName) ||
           b.firstName.localeCompare(a.firstName)
});

演示:

在我看来,这更像是JavaScript……拜托,Java不是JavaScript。相应地编辑您的问题以获得所需的答案。更新您的答案,但这也适用于(喜欢更详细代码的人):
myarray.sort(函数(a,b){var fullNameA=a.lastName+''+a.firstName;var fullNameB=b.lastName+'+b.firstName;if(fullNameA>fullNameB){return 1;}if(fullNameA
}