js中对元素数组排序比较上下限值

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 05:32 点击:

在工作过程中遇到了多条记录比较分值上下限的问题,首先是用java写的比较程序如下:
if(PartnerConstants.CODE_INFO_SUP_EVA_RESULT_TYPE_SCORE.equals(supEvaResultTypeCode)
    ||PartnerConstants.CODE_INFO_SUP_EVA_RESULT_TYPE_LEVEL.equals(supEvaResultTypeCode)){
   
    //按分值下线排序
    sortResults(supEvaSystemResults);
    boolean flag=false;
    for(int i = 0;i<supEvaSystemResults.size();i++){
     //分值下线
     BigDecimal scoreLowerBefore = supEvaSystemResults.get(i).getScoreLower();
     //分值上线
     BigDecimal scoreLimitBefore = supEvaSystemResults.get(i).getScoreLimit();
     for(int j=i+1;j<supEvaSystemResults.size();j++){
      BigDecimal scoreLowerAfter = supEvaSystemResults.get(j).getScoreLower();
      if(scoreLowerBefore.compareTo(scoreLowerAfter)==0){// 1)如果前、后两条数据 分值下线相等 则不满足条件
       flag=true;
      }else if(scoreLimitBefore.compareTo(scoreLowerAfter)>=0){//2)如果前一条的分值上线大于等于后一条的分值下线则不满足条件
       flag=true;
      }
     }
    }
    //评分或者评级的分值范围不能交叉
    if(flag)

/**
  *  按分值下线从小到大排序
  * @param supEvaSystemResults
  */
 private void sortResults(List<SupplierEvaluationSystemResultEntity> supEvaSystemResults){
  Collections.sort(supEvaSystemResults, new Comparator<SupplierEvaluationSystemResultEntity>(){
   public int compare(SupplierEvaluationSystemResultEntity r1, SupplierEvaluationSystemResultEntity r2)
看了这个思路:总结出大致思路就是先对得到的对象数据拍照上限或者下限的字段进行排序,然后for循环进行比较如果前后两条数据的分值下限相等则不满足条件;前一条分值上限大于等于后一条分值下限则不满足条件;
于是我就上网找了个方法是按照某个字段对数组元素进行排序,方法如下:
//by函数接受一个成员名字符串做为参数 //并返回一个可以用来对包含该成员的对象数组进行排序的比较函数 var by = function(name){     return function(o, p){         var a, b;         if (typeof o ===
"object" && typeof p === "object" && o && p) {             a = o[name];             b = p[name];             if (a === b) {                 return 0;             }             if (typeof a ===
typeof b) {                 return a < b ? -1 : 1;             }             return typeof a < typeof b ? -1 : 1;         }         else {             throw ("error");         }     } }
然后用.net方法写了上限值交叉的方法如下:
 //判断分值上下限是否交叉
               &nb

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Gb2312转utf-8编码的方法(vbs+js)
    • 如何使用Ajax技术开发Web应用程序(1)
    • js跳转路径问题
    • JavaScript模仿桌面窗口
    • 用js检测两个线段是否相交
    • 运用JavaScript构建你的第一个Metro式应用程序(on Windows
    • 我知道的JavaScript -- 设计模式(桥接)应用之 – 验证器
    • 我是如何去了解jquery的(六),案例之幻灯片轮换
    • Jquery封装幻灯片效果
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1