소개
문자열 패딩에는 시작 또는 끝에 문자를 추가하여 원하는 길이. 이는 테이블 정렬이나 숫자 서식 지정과 같은 다양한 시나리오에 유용합니다. 이 기사에서는 문자열 패딩을 용이하게 하는 JavaScript 함수를 살펴봅니다.
ES8 이전 솔루션
ECMAScript 8(ES8) 이전에 개발자는 문자열 패딩을 위해 다양한 방법을 사용했습니다. 한 가지 간단한 접근 방식은 사전 정의된 패딩 값으로 문자열을 연결하고 결과를 분할하여 원하는 길이를 얻는 것입니다.
var n = 123; String("00000" + n).slice(-5); // returns 00123 ("00000" + n).slice(-5); // returns 00123 (" " + n).slice(-5); // returns " 123" (with two spaces)
또 다른 솔루션은 paddingLeft 메서드를 사용하여 문자열 객체를 확장합니다.
String.prototype.paddingLeft = function (paddingValue) { return String(paddingValue + this).slice(-paddingValue.length); };
이 방법은 다음과 같이 사용할 수 있습니다:
function getFormattedTime(date) { var hours = date.getHours(); var minutes = date.getMinutes(); hours = hours.toString().paddingLeft("00"); minutes = minutes.toString().paddingLeft("00"); return "{0}:{1}".format(hours, minutes); }; String.prototype.format = function () { var args = arguments; return this.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] != 'undefined' ? args[number] : match; }); };
ES8 및 Beyond
ES8에서는 문자열 패딩을 단순화하는 String.padStart 메서드를 도입했습니다.
"Jonas".padStart(10); // Default pad string is a space "42".padStart(6, "0"); // Pad with "0" "*".padStart(8, "-/|\"); // produces '-/|\-/|*'
String.padStart를 사용할 수 없는 경우 폴리필을 사용하여 추가할 수 있습니다. 다음 폴리필은 문자열 객체를 확장합니다.
String.prototype.padLeft = function (desiredLength) { var padString = " "; if (arguments.length > 1) { padString = arguments[1]; } var padLength = desiredLength - this.length; if (padLength >= 0) { return padString.repeat(Math.ceil(padLength / padString.length)).slice(0, padLength) + this; } else { return this; } };
위 내용은 JavaScript에서 문자열을 효율적으로 채울 수 있는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!