欢迎访问响应式个人博客!
男生版
女生版
初遇时,她的微笑,她往日的深情、承诺和傻劲,两个人共度的美丽时刻,一一印在回忆里,今天的感情已经比不上从前,但是我爱着恋着往日的她,舍不得离开!
排行
详情
您当前的位置>首页 > 正文
流量,速率,时延单位的自适应
2017-10-16 16:15:50   来源:博主开发总结   评论:0 点击:
项目开发中往往从后台获取的数据在前台处理时需要改变数据的单位,使其在容器里自适应,下面是博主在处理时延,流量,流量时封装好的三个方法,可供参考:



/**
 * 时延类单位自适应
 * @param dataArr 数据集合
 */
function autoChengeTimeUnit(dataArr){
   
   var max = Math.max.apply(null, dataArr);
   var unit = "ms";
   if (max > 1000)
   {
      for (var int = 0; int < dataArr.length; int++) {
         dataArr[int] = (dataArr[int]/1000).toFixed(2);
      }
      unit = "s";
   }
   var map={data:dataArr, unit:unit};
   
   return map;
}

/**
 * 速率类单位自适应
 * @param dataArr 数据数组
 */
function autoChengeSpeedUnit(dataArr){
   
   var max = Math.max.apply(null, dataArr);
   var k = 1024; 
    var sizes = ['Kbps', 'Mbps', 'Gbps', 'Tbps'];
    var i = 0;
    if (max >= 1)
    {
       i = Math.floor(Math.log(max) / Math.log(k));
       
       for (var int = 0; int < dataArr.length; int++) {
          var flow = 
             dataArr[int] = (dataArr[int] / Math.pow(k, i)).toPrecision(3);
       }
    }
    
    var map={data:dataArr, unit:sizes[i]};
   
   return map;
}

/**
 * 流量类单位自适应
 * @param dataArr 数据数组
 */
function autoChengeFlowUnit(dataArr){
   var max = Math.max.apply(null, dataArr);
   var k = 1024; 
    var sizes = ['KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
    var i = 0;
    if (max >= 1)
    {
       i = Math.floor(Math.log(max) / Math.log(k));
       for (var int = 0; int < dataArr.length; int++) {
          var flow = 
          dataArr[int] = (dataArr[int] / Math.pow(k, i)).toPrecision(3);
      }
    }
    var map={data:dataArr, unit:sizes[i]};
    
    return map;
}

希望能帮到大家!
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关热词搜索:速率 流量 时延

上一篇:IE常见bugs以及解决方案列表
下一篇:echart环图渐变案列

收藏