JavaScript中的sort()方法

sort()函数

  • 用于对数组的元素进行排序,并返回数组

1. 没有参数时,按照字符编码的顺序进行排序

var arr = ["aa", "bb", "bb", "oo", 99, 55, 66, 77];

var newArr = arr.sort();

console.log(newArr); // [55, 66, 77, 99, 'aa', 'bb', 'bb', 'oo']

2. 有参数时,按照升序、降序来排序

(1) 实现升序,从小到大从大到小

var arr = [99, 55, 66, 77];

var newArr = arr.sort(function (a, b) {
    return (a - b);
});

console.log(newArr); // [55, 66, 77, 99]

(2) 实现降序,从大到小

var arr = [99, 55, 66, 77];

var newArr = arr.sort(function (a, b) {
    return (b - a);
});

console.log(newArr); // [99, 77, 66, 55]

(3) 根据数组中的对象的某个属性值排序

// 创建对象
function getStu(name, age, score) {
    var stu = {};
    stu.name = name;
    stu.age = age;
    stu.score = score;
    return stu;
}
var stu1 = getStu("Tom", 29, 98);
var stu2 = getStu("Jack", 18, 92);
var stu3 = getStu("Jarry", 12, 77);

// 将对象加入数组中
var stus = [stu1, stu2, stu3];

// 对数组进行排序
var newArr = stus.sort(function (stu1, stu2) {
    return stu1.score - stu2.score;
});

// 遍历数组
console.log(newArr);

(4) 根据对象的多个属性进行排序

// 创建对象
function getStu(name, age, score) {
    var stu = {};
    stu.name = name;
    stu.age = age;
    stu.score = score;
    return stu;
}
var stu1 = getStu("Tom", 29, 98);
var stu2 = getStu("Jack", 18, 92);
var stu3 = getStu("Jarry", 12, 92);

// 将对象加入数组中
var stus = [stu1, stu2, stu3];

// 对数组进行排序
var newArr = stus.sort(function (stu1, stu2) {
    if (stu1.score != stu2.score) {
        return stu1.score - stu2.score;
    }
    else {
        return stu2.age - stu1.age;
    }
});

// 遍历数组
console.log(newArr);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值