首頁 > web前端 > js教程 > js 数组array sort排序实例

js 数组array sort排序实例

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-01 09:54:59
原創
1742 人瀏覽過

语法:

arrayObject.sort(sortby)


参数描述:

参数 描述
sortby 可选。规定排序顺序。必须是函数。


实例一:对数组元素按照大小排序:

1

2

3

4

5

6

7

<code><script type="text/javascript">

var arr=[12,1,45,7,44,23];

function sortfunc(a,b){

    return a-b;

}

alert(arr.sort(sortfunc));

</script></code>

登入後複製

实例二:
按照对象属性排序,这里可以写一个通用的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

26

27

28

29

30

<code><script type="text/javascript">

function person(name,age,weight,height){

    this.name=name;

    this.age=age;

    this.weight=weight;

    this.height=height;

}

var person1=new person("zhangsan",33,60,170);

var person2=new person("lisi",22,65,175);

var person3=new person("wanger",37,54,179);

var person4=new person("job",15,50,188);

var person5=new person("hikk",24,67,165);

var person6=new person("milo",28,80,172);

var arr=[person1,person2,person3,person4,person5,person6];

function sortbyatt(field){

    var sortfun=function(obj1,obj2){

        if(obj1[field]>obj2[field])return 1;

        else if(obj1[field]==obj2[field])return 0;

        else return -1;

    }

    return sortfun;

}

//arr.sort(sortbyatt("name"));  //按name排序;

//arr.sort(sortbyatt("age"));   //按age排序;

arr.sort(sortbyatt("weight"));  //按weight排序;

//arr.sort(sortbyatt("height")); //按height排序;

for(var i=0;i<arr.length;i++){

    document.write(arr[i].name+"----",arr[i].age+"----",arr[i].weight+"----",arr[i].height+"<br/>");

}

</script></code>

登入後複製

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板