바이트 수 예쁘게 출력하기

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 JavaScript 를 사용하여 바이트 단위의 숫자를 사람이 읽기 쉬운 형식으로 예쁘게 출력하는 개념을 탐구합니다. 주어진 바이트 수를 KB, MB, GB, TB, PB, EB, ZB 및 YB 로 변환하는 방법을 단위 배열 사전 (array dictionary) 을 사용하여 배웁니다. Number.prototype.toPrecision() 메서드를 사용하여 숫자를 특정 자릿수로 자르고, 결과를 표시하기 위한 예쁘게 꾸며진 문자열을 구성합니다.

바이트를 사람이 읽을 수 있는 문자열로 변환하기

바이트 단위의 숫자를 사람이 읽을 수 있는 문자열로 변환하려면 prettyBytes() 함수를 사용하십시오. 다음 사항에 유의하십시오.

  • 이 함수는 지수를 기반으로 접근할 수 있는 단위 배열 사전 (array dictionary) 을 사용합니다.
  • 두 번째 인수 precision을 사용하여 숫자를 특정 자릿수로 자를 수 있습니다. 기본값은 3입니다.
  • 세 번째 인수 addSpace를 사용하여 숫자와 단위 사이에 공백을 추가할 수 있습니다. 기본값은 true입니다.
  • 이 함수는 제공된 옵션과 음수 여부를 고려하여 예쁘게 꾸며진 문자열을 구성하여 반환합니다.

다음은 prettyBytes() 함수의 코드입니다.

const prettyBytes = (num, precision = 3, addSpace = true) => {
  const UNITS = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
  if (Math.abs(num) < 1) return num + (addSpace ? " " : "") + UNITS[0];
  const exponent = Math.min(
    Math.floor(Math.log10(num < 0 ? -num : num) / 3),
    UNITS.length - 1
  );
  const n = Number(
    ((num < 0 ? -num : num) / 1000 ** exponent).toPrecision(precision)
  );
  return (num < 0 ? "-" : "") + n + (addSpace ? " " : "") + UNITS[exponent];
};

다음은 prettyBytes() 함수 사용의 몇 가지 예입니다.

prettyBytes(1000); // '1 KB'
prettyBytes(-27145424323.5821, 5); // '-27.145 GB'
prettyBytes(123456789, 3, false); // '123MB'

요약

축하합니다! 바이트 수 예쁘게 출력하기 (Pretty-Print Number of Bytes) 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.