真实之心灵鸡汤
记录一些比较现实而又扎心的经典语录
实现一个单位转换函数
function formatSizeUnits(kb) {
var result = '';
if (kb < 1024) {
result = kb + ' KB';
} else if (kb < 1024 * 1024) {
result = (kb / 1024).toFixed(2) + ' MB';
} else if (kb < 1024 * 1024 * 1024) {
result = (kb / 1024 / 1024).toFixed(2) + ' GB';
} else {
result = (kb / 1024 / 1024 / 1024).toFixed(2) + ' TB';
}
return result;
}
这个实现方式比较简单,就是根据单位进行判断,然后进行转换。
function formatSizeUnits(kb) {
const units = ['KB', 'MB', 'GB', 'TB', 'PB'];
let unitIndex = 0;
while (kb >= 1024 && unitIndex < units.length - 1) {
kb /= 1024;
unitIndex++;
}
return `${kb.toFixed(2)} ${units[unitIndex]}`;
}
这个实现方式比较复杂,首先定义了一个数组units
,然后定义了一个变量unitIndex
,用于记录当前的单位索引。然后使用一个循环,判断kb
是否大于等于1024,如果大于等于1024,则将kb
除以1024,并将unitIndex
加1,直到kb
小于等于1024为止。最后返回kb.toFixed(2)
和units[unitIndex]
的组合。
怎么样,这个方法是不是很优雅呢?