JS里的居民们6-数组排序

编码

var arr = [43, 54, 4, -4, 84, 100, 58, 27, 140];

将上面数组分别按从大到小以及从小到大进行排序后在console中输出

var arr = ['apple', 'dog', 'cat', 'car', 'zoo', 'orange', 'airplane'];

将上面数组分别按字母顺序a-z及z-a进行排序,在console中输出

var arr = [[10, 14], [16, 60], [7, 44], [26, 35], [22, 63]];

将上面的二维数组,按照每个元素中第二个数从大到小的顺序进行排序输出,输出结果应该为:

[[22, 63], [16, 60], [7, 44], [26, 35], [10, 14]]

var arr = [
    {
        id: 1,
        name: 'candy',
        value: 40
    }, {
        id: 2,
        name: 'Simon',
        value: 50
    }, {
        id: 3,
        name: 'Tony',
        value: 45
    }, {
        id: 4,
        name: 'Annie',
        value: 60
    }
];

将上面数组分别按元素对象的value值从小到大进行排序后输出

  1 <!DOCTYPE html>
  2 <html>
  3 
  4 <head>
  5     <meta charset="utf-8" />
  6     <title>JS里的居民们8-排序</title>
  7 </head>
  8 
  9 <body>
 10     <script>
 11         function compareNumbers(a, b) {
 12             return a - b;
 13         }
 14         var arr1 = [43, 54, 4, -4, 84, 100, 58, 27, 140];
 15         //将上面数组分别按从大到小以及从小到大进行排序后在console中输出
 16         console.log("arr1从小到大排序:" + arr1.sort((a, b) => a - b));
 17         console.log("arr1从小到大排序:" + arr1.sort(function (a, b) {
 18             return a - b;
 19         }))
 20         console.log("arr1从大到小排序:" + arr1.sort((a, b) => a - b).reverse());
 21         console.log("arr1从大到小排序:" + arr1.sort((a, b) => b - a));
 22 
 23         var arr2 = ['apple', 'dog', 'cat', 'car', 'Zoo', 'orange', 'airplane'];
 24         //将上面数组分别按字母顺序a-z及z-a进行排序,在console中输出
 25         console.log("arr2从a-z排序:" + arr2.sort()); //与字符串相加,成为字符串打印出来
 26         console.log("arr2从z-a排序:"); //大小写有差别!!注意
 27         console.log(arr2.sort().reverse()); //仍为数组对象打印出来
 28         var arr3 = [
 29             [10, 14],
 30             [16, 60],
 31             [7, 44],
 32             [26, 35],
 33             [22, 63]
 34         ];
 35         //将上面的二维数组,按照每个元素中第二个数从大到小的顺序进行排序输出,输出结果应该为:
 36         console.log("arr3按第二个数从大到小排序:");
 37         console.log(arr3.sort((a, b) => b[1] - a[1]));
 38         console.log("arr3按第一个数从大到小排序:");
 39         console.log(arr3.sort((a, b) => b[0] - a[0]));
 40         //[[22, 63], [16, 60], [7, 44], [26, 35], [10, 14]]
 41 
 42         var arr4 = [{
 43             id: 1,
 44             name: 'candy',
 45             value: 40
 46         }, {
 47             id: 2,
 48             name: 'Simon',
 49             value: 50
 50         }, {
 51             id: 3,
 52             name: 'Tony',
 53             value: 45
 54         }, {
 55             id: 4,
 56             name: 'Annie',
 57             value: 60
 58         }];
 59         //将上面数组分别按元素对象的value值从小到大进行排序后输出
 60         arr4.sort(function (a, b) {
 61             var valueA = a.value;
 62             var valueB = b.value;
 63             if (valueA < valueB) {
 64                 return -1;
 65             }
 66             if (valueA > valueB) {
 67                 return 1;
 68             }
 69             return 0;
 70         })
 71         console.log("按元素对象的value值从小到大进行排序:")
 72         console.log(arr4);
 73 
 74         arr4.sort(function (a, b) {
 75             var valueA = a.value;
 76             var valueB = b.value;
 77             if (valueA < valueB) {
 78                 return 1;
 79             }
 80             if (valueA > valueB) {
 81                 return -1;
 82             }
 83             return 0;
 84         })
 85         console.log("按元素对象的value值从大到小进行排序:")
 86         console.log(arr4);
 87 
 88         arr4.sort(function (a, b) {
 89             var nameA = a.name.toUpperCase(); //忽略大小写进行排序,按字母来
 90             var nameB = b.name.toUpperCase();
 91             if (nameA < nameB) {
 92                 return -1;
 93             }
 94             if (nameA > nameB) {
 95                 return 1;
 96             }
 97             return 0;
 98         })
 99         console.log("按元素对象的name值从a-z进行排序:")
100         console.log(arr4);
101     </script>
102 </body>
103 
104 </html>
原文地址:https://www.cnblogs.com/Joe-and-Joan/p/10079652.html