单位转换(将B转换成合适的单位 如KB、MB...)

进行单位转换,其中用到了lodash中的findIndex()方法

/*
 * @param{*} bytes 传入具体的值,也就是将要进行转换的值
*  @param{*} number 传入具体的值的单位
* 返回一个结果数组[6,'M'] 返回一个数组,第一位是值,第二位是单位
*/
import {findIndex} from 'lodash';
const tranformBytes =(bytes,{minUnit = 'B'}={})=>{
  const units =['B','KB','MB','GB','TB','PB']; //  单位的合集
  const minUnitIndex = findIndex(units,value=>value=== minUnit); // 最小的显示单位
  let index; // 下标 用来计算合适单位的下标

  for(index = minUnitIndex ;index <= units.length;index++){
    if(index === units.length || bytes < Math.pow(1024,index+1) ){
      break;
    }
  }
  return [bytes / Math.pow(1024,index+1),units[index]];
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,816评论 1 32
  • 1..我们说的最多的话里面“应该”会有“应该”这个词汇,你看我刚刚为了表达这个意思还使用了“应该”,这“应该”不是...
    小豆芽啊阅读 197评论 0 0
  • 我和你永远是两条平行线, 虽然没有交点, 但却是“无穷大“的如影随形。 没有你就不是平行线, 没有我,你只能是一条...
    视听广角阅读 375评论 2 7
  • 原因 CABasicAnimation动画在界面跳转后会自动停止并移除动画 处理方式 设置CABasicAnima...
    和谐共处阅读 2,079评论 0 0
  • 【转型期的“中国女人”(1)】 前言: 写这篇文章要冒一定风险,因为无论学识深浅相貌研媸的所有女人和一些为数不少且...
    兴时态_198812阅读 1,104评论 1 1

友情链接更多精彩内容