• 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>
  • 相关阅读:
    【剑指offer】把字符串转换成整数
    【剑指offer】不用加减乘除做加法
    【剑指offer】求1+2+3+...+n
    【剑指offer】孩子们的游戏(圆圈中最后剩下的数)
    【剑指offer】扑克牌顺子
    【剑指offer】翻转单词顺序列
    【剑指offer】左旋转字符串
    【剑指offer】和为S的两个数字
    【剑指offer】和为S的连续正数序列
    2019.1.10 Mac安装Nginx服务器
  • 原文地址:https://www.cnblogs.com/Joe-and-Joan/p/10079652.html
Copyright © 2020-2023  润新知