1、字符串排序
stringObject.localeCompare(target) 用本地特定的顺序来比较两个字符串。
说明
stringObject 小于 target,则 localeCompare() 返回小于 0 的数。
stringObject 大于 target,则该方法返回大于 0 的数。
如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。
//用法:
var str;
str.sort (function(a,b){return a.localeCompare(b)})
//实例
var strList = ['cc', 'ee', 'ca', 'aa'];
strList.sort((a, b) => {
return a.localeCompare(b);
});
console.log(strList); //["aa", "ca", "cc", "ee"]
2、对象排序
依据对象中的value进行排序
const users = [
{ name: 'demi', age: 24 },
{ name: 'lisa', age: 21 },
{ name: 'jerry', age: 25 },
];
//按照name比较
const usersSortedByName = users.sort((a, b) => a.name.localeCompare(b.name));
console.log(usersSortedByName);
/*
(3) […]
0: Object { name: "demi", age: 24 }
1: Object { name: "jerry", age: 25 }
2: Object { name: "lisa", age: 21 }
length: 3
*/
// 按照age比较
const usersSortedByAge = users.sort((a, b) => a.age - b.age);
console.log(usersSortedByAge);
/*
(3) […]
0: Object { name: "lisa", age: 21 }
1: Object { name: "demi", age: 24 }
2: Object { name: "jerry", age: 25 }
length: 3
*/