javascript数组排序

javaScript数组排序

1、sort() 方法是最强大的数组方法之一。

sort() 方法以字母顺序对数组进行排序:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
复制代码
//对 fruits 中的元素进行排序 默认是升序排序
fruits.sort();

2、反转数组

reverse() 方法反转数组中的元素。
您可以使用它以降序对数组进行排序:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
// 对 fruits 中的元素进行排序
fruits.sort();
// 反转元素顺序
fruits.reverse();

3、数字排序

默认地,sort() 函数按照字符串顺序对值进行排序。
该函数很适合字符串("Apple" 会排在 "Banana" 之前)。
不过,如果数字按照字符串来排序,则 "25" 大于 "100",因为 "2" 大于 "1"。
正因如此,sort() 方法在对数值排序时会产生不正确的结果。
我们通过一个比值函数来修正此问题:

a、升序排序

var points = ['0', '100', '1', '5', '25', '10'];
//a-b是升序排序
points.sort(function(a, b){return a - b}); 

结果

b、降序排序

var points = ['0', '100', '1', '5', '25', '10'];
//a-b是升序排序
points.sort(function(a, b){return b - a}); 
结果:

4、对象排序

a、升序

var users = [{name:"张三",age:20},{name:"李四",age:5},{name:"王五",age:10},{name:"赵六",age:8}];
//userA.age - userB.age 按照年龄升序排序
users.sort(function(userA, userB){return userA.age - userB.age});
结果

b、降序

var users = [{name:"张三",age:20},{name:"李四",age:5},{name:"王五",age:10},{name:"赵六",age:8}];
//userB.age - userA.age 按照年龄降序排序
users.sort(function(userA, userB){return userB.age - userA.age});
结果:

posted @ 2022-02-18 13:53  Journey&Flower  阅读(486)  评论(0编辑  收藏  举报