JavaScript 数组排序

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约定俗成的规定!!!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值