JavaScript中的sort()方法
程序员文章站
2022-07-11 14:59:23
...
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);
上一篇: 零基础学Python语言 第一周