JavaScript自訂數組排序方法

來源:互聯網
上載者:User

JavaScript自訂數組排序方法

 這篇文章主要介紹了JavaScript自訂數組排序方法,執行個體分析了javascript自訂數組排序的原理與實現技巧,非常具有實用價值,需要的朋友可以參考下

 

 

本文執行個體講述了JavaScript自訂數組排序方法。分享給大家供大家參考。具體分析如下:

Array中有內建的排序功能,這個使用起來比較方便,我們有一點必須清楚,就是排序的依據,如果sort不傳入參數的話,那就是按照字元編碼(Unicode編碼)的順序排序。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

var a=["3","2","1"];

console.log(a[0].charCodeAt(0)); // 51

console.log(a[1].charCodeAt(0)); // 50

console.log(a[2].charCodeAt(0)); // 49

console.log(a.sort()); // ["1", "2", "3"]

 

var a=["3","你","他"];

console.log(a[0].charCodeAt(0)); // 51

console.log(a[1].charCodeAt(0)); // 20320

console.log(a[2].charCodeAt(0)); // 20182

console.log(a.sort()); // ["3", "他", "你"]

 

var a=["3","11","222"];

console.log(a.sort());// ["11", "222", "3"]

// 多個字元的時候按照第一個字元的編碼

不過我覺得sort最好用的地方在於可以自訂排序,這個在實際運用中也比較常見,比如要對對象數組排序。例如線面的一個對象數組,要根據其中的某一個欄位進行排序,當然自己也可以寫個函數來完成,不過我想沒有sort來得方便。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

var list = [

{

max:3,

avg:2,

min:1

},

{

max:10,

avg:15,

min:20

},

{

max:8,

avg:5,

min:2

}

];

// 根據max欄位對list對象進行排序,從小到大的順序

// x,y就是要比較的數組的單個元素,這裡就是list中的一個元素

// 排序方法主要是要提供一個比較大小的規則,換句話說也就是要說明誰大誰小

// 傳回值為true or false

function sortByField(x, y) {

return x.max - y.max;

}

console.log(list.sort(sortByField));

運行效果如所示:

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.