欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

单位转换(将 B 转换为适当的单位,如 KB、MB......)

最编程 2024-05-02 11:20:30
...

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

推荐阅读