1. 程式人生 > >js排序

js排序

emp i++ return temp urn 交換 color hang 最大的

一:

var num=[7,45,100,4,2,564];
    function sortNum(a,b){
        return a-b;
    }
num.sort(sortNum);
console.log(num)  //[2, 4, 7, 45, 100, 564]

二:

var list=[
    {name:"lisan",age:22},
    {name:"zhangsi",age:20},
    {name:"laowu",age:25}
];
function sortNum(ageList){
     return function(a,b){
        
var list1=a[ageList]; var list2=b[ageList]; return list1-list2 } }; list.sort(sortNum(‘age‘)); console.log(list); //結果如下 {name: "zhangsi", age: 20} {name: "lisan", age: 22} {name: "laowu", age: 25}

三:冒泡排序

var arrNum=[7,8,3,2];
function sortArr(arr){
    for(var i=0;i<arr.length;i++){
        
for(var j=0;j<arr.length-1-i;j++){ if(arr[j]>arr[j+1]){ var temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } }; return arr; }; console.log(sortArr(arrNum))

js中排序sort其實就是arrNum中第一個與第二個比較,如果第一個比第二個大,那麽他們交換位置,否則不變。然後第二個和第三個比較,大的那個向後排,依次結果[7,3,2,8]。也就是把最大的那個排到了最後面,但這不是我們想要的結果。

所以再上面有2層循環,當i=0時[7,2,3,8],當i=1時,其實前面已經把最大的那個排出來了 ,所以這裏的j<arr.length-1-i,結果時[3,2,7,8].然後依次類推。

js排序