arr.sort([compareFunction])
sort()
方法对数组的元素做原地的排序,并返回这个数组。
sort
可能不是稳定的。
默认按照字符串的Unicode码位点(code point)排序。
参数:
compareFunction
可选。
用来指定按某种顺序进行排列的函数。
如果省略,元素按照转换为的字符串的诸个字符的Unicode位点进行排序。
如果指明了 compareFunction
,那么数组会按照调用该函数的返回值排序。
记 a
和 b
是两个将要被比较的元素:
(1)如果 compareFunction(a, b)
**小于 0 **,那么 a
会被排列到 b
之前;
(2)如果 compareFunction(a, b)
等于 0, a
和 b
的相对位置不变。
注:
ECMAScript 标准并不保证这一行为,
而且也不是所有浏览器都会遵守(例如 Mozilla 在 2003 年之前的版本)
(3)如果 compareFunction(a, b)
**大于 0 **, b
会被排列到 a
之前。
注:
compareFunction(a, b)
必须总是对相同的输入返回相同的比较结果,否则排序的结果将是不确定的。