Array類型(重排序方法)

Array類型傳送門:
聲明與屬性
添加與刪除
數組項操作和位置查找
重排序
迭代與歸併

一.直接反轉

reverse() 方法: 無參數,直接作用於原數組

var values = [1,2,3,4,5];
values.reverse();
alert(values);           //5,4,3,2,1

二.排序

sort() 方法: 直接作用於原數組

  • 無參數時—–調用 toString() 方法轉換數組項值爲string,比較首字符的ASCII碼

  • 參數爲 比較 函數時—–可以達到升序或降序的效果

/*無參數時*/
var values = [0,1,5,10,15];
values.sort();
alert(values);         //0,1,10,15,5
/*函數作爲參數時*/
function compareAsc(value1,value2){
    if(value1<value2){
    return -1;
    }
    else if(value1>value2){
    return 1;
    }
    else{
    return 0;
    }
}

function compareDesc(value1,value2){
    if(value1<value2){
    return 1;
    }
    else if(value1>value2){
    return -1;
    }
    else{
    return 0;
    }

var values1 = [5,1,0,10,15];
values1.sort(compareAsc);
alert(values1);                //0,1,5,10,15

var values2 = [5,1,0,10,15];
values2.sort(compareDesc);
alert(values2);               //15,10,5,1,0

爲什麼 compare函數這麼寫就可以升降序排列?——這是JS中的設計模式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章