按时间显示评论
主要使用 sort 方法
1. 简单数组排序
语法:
sort([compareFunction])
参数:
compareFunction : 用来指定按某种顺序进行排列的函数。如果省略,元素按照转换为的字符串的各个字符的 Unicode 位点进行排序。
实例:
sort() 没有参数只会排序数字的第一个位数
const array1 = [1, 30, 4, 21, 100000, 1000000, 6] array1.sort() console.log(array1) // [1, 100000, 1000000, 21, 30, 4, 6]
2. 数组排序
如果指明了 compareFunction
,那么数组会按照调用该函数的返回值排序。即 a 和 b 是两个将要被比较的元素:
- 如果
compareFunction(a, b)
小于 0 ,那么 a 会被排列到 b 之前;
- 如果
compareFunction(a, b)
等于 0 , a 和 b 的相对位置不变。
- 如果
compareFunction(a, b)
大于 0 , b 会被排列到 a 之前。
const array1 = [1, 30, 4, 21, 100000, 1000000, 6] array1.sort((a, b) => a - b) // [1, 4, 6, 21, 30, 100000, 1000000] 从小到大 array1.sort((a, b) => b - a) // [1000000, 100000, 30, 21, 6, 4, 1] 从大到小 箭头函数 console.log(array1)
3. 对象可以按照某个属性排序
var items = [ { name: 'Edward', value: 21 }, { name: 'Sharpe', value: 37 }, { name: 'And', value: 45 }, { name: 'The', value: -12 }, { name: 'Magnetic', value: 100 }, { name: 'Zeros', value: 37 }, ] // sort by value 按照value数字排序 items.sort(function (a, b) { return a.value - b.value }) console.log(items)