var arr = [3,1,6,8,9,33]; 排序就要对数组中的元素进行比较。 function里面的两个参数就是每次要进行比较的两个元素, 你要用这两个参数进行比较,根据比较的结果用 return 返回不同的值。 如果返回正数就把第一个参数对应的元素排位到前面,第二个参数对应的元素排位到后面,返回负数就把第二个参数对应的元素排位到前面,第一个参数对应的元素排位到后面,返回0元素排位不变。 如果用随机函数,返回随机的值,元素也就随机排位了。 既然用随机函数返回随机的值,就不需要参数进行比较了,也就不需要在function里面接收这两个参数了。 sort(function(){})排序 //数组不变 arr.sort(function(){ return -1; // return 0; }) // 从小到大排序 arr.sort(function(a,b){ return(a-b) }) // 从大到小排序 arr.sort(function(a,b){ return(b-a) }) arr.sort(function(a,b){ return 1; }) //默认按字母即ascii码排序 arr.sort() //随机排序 arr.sort(function(){ return Math.random()-0.1; })