按属性按字母顺序排列对象数组

时间:2018-02-02 08:48:42

标签: javascript arrays sorting

我正在尝试根据用户名按字母顺序排列对象数组。 基本上一组用户是这样的

users = [
{ 
  firstName: 'Ana'
  lastName: 'Smith'
  username: 'Ana'
  id: 1
  email: 'ana@ana.com'
},
{ 
  firstName: 'Ana'
  lastName: 'AnaWithSpecialA'
  username: 'Äna'
  id:2
  email: 'ana2@ana.com'
},
{ 
  firstName: 'Bla'
  lastName: 'Blabla'
  username: 'Bla'
  id:3
  email:'bla@bla.com'
}
]

我使用此功能进行排序:

users.sort((a, b) => {
  if(a.username < b.username) return -1;
  if(a.username > b.username) return 1;
  return 0
});

但是用户名以Ä,Ö,Ü开头的用户总是最后一次。这是德国字母btw。如何推动它们以便Ä可以在O等后面的A和Ö后面,或者正确的排序方式?

0 个答案:

没有答案