美文网首页
单位转换(将B转换成合适的单位 如KB、MB...)

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

作者: kim_jin | 来源:发表于2019-05-30 17:02 被阅读0次

进行单位转换,其中用到了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]];
}

相关文章

网友评论

      本文标题:单位转换(将B转换成合适的单位 如KB、MB...)

      本文链接:https://www.haomeiwen.com/subject/ljivtctx.html