首頁 >web前端 >js教程 >Javascript中數組sort和reverse用法分析_javascript技巧

Javascript中數組sort和reverse用法分析_javascript技巧

WBOY
WBOY原創
2016-05-16 16:23:051144瀏覽

本文實例講述了Javascript中數組sort和reverse用法。分享給大家供大家參考。具體分析如下:

sort() 方法用於對陣列的元素進行排序。

reverse()將陣列中的元素逆序

首先我們來試試以下這段程式碼:

複製程式碼 程式碼如下:
var values = [1, 0, 5, 15, 10];
values.reverse();
console.log(values);

輸出結果會是什麼:
[ 10, 15, 5, 0, 1 ]

reverse()也就是很簡單的把陣列倒過來而已,那麼接下來想吐槽的是sort()

複製程式碼 程式碼如下:
var values = [1, 0, 5, 15, 10];
values.sort();
console.log(values);

這段函數輸出結果竟然是:
[ 0, 1, 10, 15, 5 ]

這是怎麼回事?

實際上,在sort()函數內部會使用toString()轉型,而String比較是透過ASCII,所以,我們如果需要排序的話,還是自己寫一個sort()比較好。

複製程式碼 程式碼如下:
var values = [1, 0, 5, 15, 10];
function compare(value1, value2) {
    if (value1         return -1;
    } else if (value1 > value2) {
        return 1;
    } else {
        return 0;
    }
}
values.sort(compare);
console.log(values);

如果調換一下-1和1就能逆向排序啦。

現在的輸出結果:
[ 0, 1, 5, 10, 15 ]

更簡單的寫法是,在compare()內部使用return value2 - value1;

希望本文所述對大家的javascript程式設計有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn