var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.sort(); // 对 fruits 中的元素进行排序
默认地,sort() 函数根据字符串Unicode
码。
该函数很适合字符串("Apple" 会排在 "Banana" 之前)。
不过,如果数字按照字符串来排序,则 "25" 大于 "100",因为 "2" 大于 "1"。
正因如此,sort() 方法在对数值排序时会产生不正确的结果。
比较数值可以通过比值函数
比较函数的目的是定义另一种排序顺序。
比较函数应该返回一个负,零或正值,这取决于参数
升序排序
var points = [40, 100, 1, 5, 25, 10]; points.sort(function(a, b){return a - b});
降序排序
var points = [40, 100, 1, 5, 25, 10]; points.sort(function(a, b){return b - a});
以随机顺序排序
var points = [40, 100, 1, 5, 25, 10]; points.sort(function(a, b){return 0.5 - Math.random()});
对复杂数组, 根据数组元素里的某个属性排序
var sourceList = [{ bscore: 222, name: ‘哈哈‘ }, { bscore: 34, name: ‘哈哈‘ }, { bscore: 465, name: ‘哈哈‘ }, { bscore: 67, name: ‘哈哈‘ }, { bscore: 243, name: ‘哈哈‘ }, { bscore: 135, name: ‘哈哈‘ } ] sourceList.sort((a, b) => { return a.bscore - b.bscore })
原文:https://www.cnblogs.com/---godzilla---/p/11528571.html