参考文档
定义:sort()方法用原地算法对数组进行排序,并返回数据。默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时构建。
所以在使用sort进行排序的时候需要使用一个回调函数进行处理。
sort方法会改变数组的结构!!!返回值就是数组本身。

1.排序

  1. var arr = [19,2,3,12,51,23,21];
  2. console.log(arr.sort((a,b)=>a-b));
  3. // [ 2, 3, 12, 19, 21, 23, 51 ];(升序排列,从小到大排列)

2.随机打乱数组

sort函数可以传一个callback,这个callback有两个参数,分别代表每次排序比较时的两个数组项,sort排序时每次比较两个数组项都会执行这个参数,并把两个比较的数组项作为参数传递给这个函数。当函数返回值为1的时候就交换两个数组项。
我们可以使用这个特性,再结合Math.random方法,可以实现数组的随机打乱

  1. function randomSort(a,b) {
  2. // 随机数大于0.5不交换,否则交换
  3. return Math.random() > 0.5 ? -1 : 1
  4. }
  5. var arr = [1, 2, 3, 4, 5];
  6. arr.sort(randomsort);