假设您有一个数组users
。您可以使用users.sort
并传递一个接受两个参数并进行比较的函数(比较器)
它应该返回
在我们的情况下,如果两个元素是a
和b
我们要比较a.firstname
和b.firstname
例:
users.sort(function(a, b){
if(a.firstname < b.firstname) { return -1; }
if(a.firstname > b.firstname) { return 1; }
return 0;
})
此代码将适用于任何类型。
请注意,在“现实生活”?中,当您比较字符串时,您通常希望忽略大小写,正确地对变音符号进行排序,诸如ß之类的怪异符号,因此您可能需要使用localeCompare
。为清楚起见,请参见其他答案。