У меня есть данные в байтах. Мне нужно нарисовать эти значения в виде удобочитаемых меток на диаграмме (например, 2,5 КБ, 14 МБ и т. Д.), И мне нужно помочь с функцией (входные данные - фактическое значение, выход - удобочитаемая строка).
Я выполнил такую функцию , но мне нужна более элегантная реализация
function tickFormatter(value, type) {
var suffix = (type == "bytes") ? ['B', 'KB', 'MB', 'GB'] : ['', 'K', 'M', 'G']
if(value > (1024 * 1024 * 1024 * 1024)) {
return (value / (1024 * 1024 * 1024 * 1024)).toFixed(2) + suffix[3]
} else if(value > (1024 * 1024 * 1024)) {
return (value / (1024 * 1024 * 1024)).toFixed(2) + suffix[2]
} else if (value > (1024 * 1024)) {
return (value / (1024 * 1024)).toFixed(2) + suffix[1]
} else {
return value.toFixed(2) + suffix[0]
}
}