原生排序letarr=[5,2,1,4,9,8]for(leti=0;iarr[j+1]){letnum=arr[j]arr[j]=arr[j+1]arr[j+1]=numcomeout.innerText=arr}}//结果1,2,4,5,8,9ES6排序sort()方法是最强大的数组方法之一一。默认排序顺序是按字母顺序升序。要使用数字排序,您必须将函数作为参数传递给调用。比较函数两个参数a和b,a-b升序,返回b-a降序注意:该方法会改变原来的数组!//升序arr.sort(function(a,b){returna-b})console.log(arr)//结果1,2,4,5,8,9//降序arr.sort(function(a,b){returnb-a})console.log(arr)//结果9,8,5,4,2,1按照数组中的一个属性排序letarr_choice=[{id:1},{id:3},{id:2},{id:8},{id:6},{id:4}]//升序arr_choice.sort(function(a,b){returnb.id-a.id})console.log(arr_choice)//结果:[{"id":1},{"id":2},{"id":3},{"id":4},{"id":6},{"id":8}]//降序arr_choice.sort(function(a,b){returnb.id-a.id})console.log(arr_choice)//result:[{"id":8},{"id":6},{"id":4},{"id":3},{"id":2},{"id":1}]排序让根据多个属性arr_multi=[{id:1,age:10},{id:3,age:5},{id:2,age:6},{id:8,age:8},{id:6,age:5},{id:4,age:5}]//升序arr_multi.sort(function(a,b){//默认按年龄排序,如果年龄相同则按id排序if(a.age==b.age){returna.id-b.id}returna.age-b.年龄})控制台。log(arr_multi)//结果:[{"id":3,"age":5},{"id":4,"age":5},{"id":6,"age":5},{"id":2,"age":6},{"id":8,"age":8},{"id":1,"age":10}]//降序arr_multi.sort(function(a,b){//默认按年龄排序,如果相同则按id排序if(a.age==b.age){returnb.id-a.id}returnb.age-a.age})console.log(arr_multi)//结果:[{"id":1,"age":10},{"id":8,"age":8},{"id":2,"age":6},{"id":6,"age":5},{"id":4,"age":5},{"id":3,"age":5}]