十二、排序原理(sort)
-
sort作用:对数组元素进行排序,并返回该数组(默认排序顺序Unicode码点)
-
语法:
array.sort([fn])
sort中使用的fn函数返回结果:
-
如果小于 0,那么 a 会被排列到 b 之前
-
如果等于 0,a 和 b 的相对位置不变
-
如果大于 0,b 会被排列到 a 之前
var arr = [1,2,4,5,33,'12','34','45',66] console.log(arr.sort()) //默认:小到大(升序) console.log(arr.sort(function(a,b) { return b - a })) //降序 var arr1 = [ {name: 'zs', age: 111}, {name: 'ls', age: 2}, {name: 'ww', age: 33}, ] function fn(prop){ return function(a,b){ return a[age] - b[age] } //升序 } console.log(arr1.sort(fn('age')))
-
-
V8引擎中的sort函数给出了两种排序:
不同的浏览器可能有不同的算法
-
数量小于10的数组:插入排序
-
数量大于10 的数组:快速排序
-