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