zoukankan      html  css  js  c++  java
  • js中对象的自定义排序

     1 //并返回一个可以用来对包含该成员的对象数组进行排序的比较函数
     2         var compareAsc = function (prop) {
     3             return function (obj1, obj2) {
     4                 var val1 = obj1[prop];
     5                 var val2 = obj2[prop];
     6                 if (!isNaN(Number(val1)) && !isNaN(Number(val2))) {
     7                     val1 = Number(val1);
     8                     val2 = Number(val2);
     9                 }
    10                 if (val1 < val2) {
    11                     return -1;
    12                 } else if (val1 > val2) {
    13                     return 1;
    14                 } else {
    15                     return 0;
    16                 }            
    17             } 
    18         }
    19         var compareDesc = function (prop) {
    20             return function (obj1, obj2) {
    21                 var val1 = obj1[prop];
    22                 var val2 = obj2[prop];
    23                 if (!isNaN(Number(val1)) && !isNaN(Number(val2))) {
    24                     val1 = Number(val1);
    25                     val2 = Number(val2);
    26                 }
    27                 if (val1 > val2) {
    28                     return -1;
    29                 } else if (val1 < val2) {
    30                     return 1;
    31                 } else {
    32                     return 0;
    33                 }            
    34             } 
    35         }

    原始js中的排序不能满足:

    arr.sort(sortNumber);
    arr.sort(function (a, b) {
    return b.name < a.name;
    });

    商城列表-积分由高到低由低到高排列:

     1 $scope.up=true;
     2         $scope.down = false;
     3         $scope.upDown = function(i) {
     4             $scope.up=!$scope.up;
     5             $scope.down=!$scope.down
     6             if($scope.up == true && $scope.down == false){
     7                 intData.sort(compareAsc("price"));
     8             }else if($scope.up == false && $scope.down == true){
     9                 intData.sort(compareDesc("price"));
    10             }
    11         };

    html:

    <a class="col col-50" ng-click="upDown()">{{'jifen.sortUp' | i18next}} &nbsp;&nbsp;<i ng-class="{'ion-ios-arrow-thin-up':up,'ion-ios-arrow-thin-down':down }" class="icon "></i></a>

    参考:http://www.jb51.net/article/67458.htm

  • 相关阅读:
    微信开发教程 Yank.WeiXin.Robot
    HtmlAgilityPack教程
    PHP获取文件的绝对路径
    关于mysql联合索引
    IE无法获得cookie,ie不支持cookie的解决办法,火狐支持
    最详细的cookie和浏览隐私之间的关系
    JavaScipt选取文档元素的方法
    javascript正则表达式
    JS实现操作成功定时回到主页效果
    js实现表格信息的删除和添加
  • 原文地址:https://www.cnblogs.com/soul-wonder/p/8855772.html
Copyright © 2011-2022 走看看