數組重排和反轉

數組中已存在兩個用來排序的方法:reverse()和sort()方法

 

只是用來反轉數組的話用reverse方法就可以了

 

var arr = [1,5,6,42,89,2,1]

arr.reverse();                //反轉數組,不夠靈活 所以纔有了sort()方法

console.log(arr); //[1, 2, 89, 42, 6, 5, 1]

 

如果要對數組進行排序就需要用sort()方法來做

 

arr.sort(); 

console.log(arr);              //[1, 1, 2, 42, 5, 6, 89] 這樣明顯是錯的

 

sort(fun):如果不傳函數的話,內置對象會按照字符串Unicode碼位點來排序(升序),這樣不是我們想要的,所以就需要寫一個函數來定義規則

這是一個簡單的排序,能滿足大多時候的使用

 

function compare(a,b){                        //升序排序 如果要降序的話就b-a;

return a - b;                              //排序規則按照從小到大 會比對好幾次 知道排序成功位置

                                                 //裏面其實有

}

上面兩種方法的返回值都是經過排序之後的數組

 

        function compare(a,b){
            if(a<b){
                return -1;
            }else if (a>b){
                return 1;
            }else{
                return 0;
            }
        }

兩種排序都可以使用,可以自行選擇使用

發佈了43 篇原創文章 · 獲贊 15 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章