注意点:
如果 compareFunction(a, b) 小于 0 ,那么 a 会被排列到 b 之前;(a-b<0 a小于b)
如果 compareFunction(a, b) 等于 0 , a 和 b 的相对位置不变。
如果 compareFunction(a, b) 大于 0 , b 会被排列到 a 之前
sort方法排序改变的是
原有数组不生成副本
注意点: 如果元素是字符串类型, 那么比较的是字符串的Unicode编码根据字符串长短排序
1
2
3
4
5
6
7
let arr = ["1234", "21", "54321", "123", "6"];
arr.sort(function (str1, str2) {
// return str1.length - str2.length;
return str2.length - str1.length;
});
console.log(arr);//[ '54321', '1234', '123', '21', '6' ]
- 按年龄大小进行降序
1 | let students = [ |
结果
1 | [ { name: 'zs', age: 34 }, |