给定以下数组,我们如何编写用包括姓氏降序的包含对象排序的代码?
[
{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"}
]
我不知道如何继续这个,我想你们可能会帮忙。
由于
答案 0 :(得分:5)
在JavaScript中:
myarray.sort(function(a, b) {
return b.lastName.localeCompare(a.lastName) ||
b.firstName.localeCompare(a.firstName)
});
答案 1 :(得分:1)
使用您在上面编写的逻辑编写自己的Comparator
比较对象,并使用Arrays.sort
调用two parameters version。
这在Java或JavaScript中基本相同,只是在Java中,Comparator
需要是实现Comparator
接口的类的对象,而在JavaScript中只需要一个函数就足够了。这有点突出了JavaScript的功能方面和Java面向对象的本质。