JavaScript 数组排序

来源:互联网 发布:数据仿真 原始数据 编辑:程序博客网 时间:2024/06/08 19:23

JavaScript中数据排序

1、数组排序(单纯数字)

var items = [20,23,18,7,32,19,54,56,41];var sortItems = function(){    return this.items.sort(sortNumber);}function sortNumber(a, b) {    return a-b;}

2、数组排序(对象数组)

var students = [                {name: 'Jspang', age: 33},                {name: 'Panda', age: 28},                {name: 'Panpan', age: 23},                {name: 'King', age: 14}            ];var sortStudents = function () {    return sortByKey(this.students, 'age');}//数组对象方法排序:function sortByKey(array, key){    return array.sort(function(a, b){        var x = a[key];        var y = b[key];        return ((x < y) ? -1 : ( (x > y) ? 1 : 0));   });}

注:
关于sort(sortby)中的sort排序机制,也就是关于sortby函数作为sort()参数来指导sort()的排序方式,详情见 JavaScript sort() 方法 这是w3c的介绍,理解这个的重点就是这几句话:
这里写图片描述

换句话说就是:
1.返回值小于0,a,b在数组中顺序不变
2.返回值小于0,a,b在数组中顺序不变,(变不变有什么区别呢 - -!)

*请注意上面几行是排序的规定,就像1+1=2一样,是 javascript约定俗成的规定!!!!!

原创粉丝点击