js 중위 수 부족 자동 추가 확장 padLeft,padRight 구현 코드

방법 1.사용자 정의 함수 구현,사용자 정의 호출 불편

function FillZero(p) {
return new Array(3 - (p + '').length + 1).join('0') + p;
}
FillZero(6); //  006
방법 2.String 방법 1 확장(C\#중 PadLeft,PadRight)

String.prototype.PadLeft = function (len, charStr) {
var s = this + '';
return new Array(len - s.length + 1).join(charStr || '') + s;
}
String.prototype.PadRight = function (len, charStr) {
var s = this + '';
return s + new Array(len - s.length + 1).join(charStr || '');
}
var p = 6;
p.toString().PadLeft(3, '0'); //  006
p.toString().PadRight(3, '0'); //  600
방법 3.원리 와 방법 2

<script type="text/javascript">
String.prototype.pad= function (pos,len,padStr) {
 var padStrs = new Array(len).join(padStr,'');
 return pos ? (padStrs + this.toString()).substr(0-len):(this.toString() + padStrs).substr(0,len);
}
String.prototype.lpad = function(len,padStr){
	return this.pad(1,len,padStr);
}
String.prototype.rpad = function(len,padStr){
	return this.pad(0,len,padStr);
}
String.prototype.padLeft = String.prototype.lpad;
String.prototype.padRight = String.prototype.rpad;
var str="6";
console.log(str.lpad(2,"0"));
console.log(str.padLeft(2,"0"));
</script>
코드 4,

String.prototype.padLeft = function (padChar, width) {
 var ret = this;
 while (ret.length < width) {
  if (ret.length + padChar.length < width) {
   ret = padChar + ret;
  }
  else {
   ret = padChar.substring(0, width - ret.length) + ret;
  }
 }
 return ret;
};

String.prototype.padRight = function (padChar, width) {
 var ret = this;
 while (ret.length < width) {
  if (ret.length + padChar.length < width) {
   ret += padChar;
  }
  else {
   ret += padChar.substring(0, width - ret.length);
  }
 }
 return ret;
};
다음은 다른 네티즌 의 보충
javascript-leftpad 방법
원래는 웨 이 보 에서 나 온 레프 트 패드 방법 이 토로 되 었 기 때문이다.
원래 의 방법 은 문자열 을 순환 적 으로 연결 하 는 방식 이기 때문에 효율 이 떨 어 집 니 다(N 다 중 string 대상 이 생 겨 대상 의 회수 가 느 립 니 다)
유사 하 다
for(i=0;istr=pad+str;
}
다음 개선 사항:

//cache
var padding1="00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
var padding2="                         ";
 function leftpad(str,length,useSpace){
 var padding = padding1;
 if(useSpace){
 padding = padding2;
 }
 
 
 var cnt = length-str.length;
 
 if(cnt<=0) return str;
 if(cnt<=200) return padding.substring(0,cnt)+str;
 
 
 str=padding+str; 
 return leftpad(str,length,ch); 
 }
생각:
1.string 대상 의 생 성 을 줄 이기 때문에 문자열 의 연결 횟수 를 최소 화 합 니 다.
2.시간 복잡 도 낮 추기
이상 은 js 중위 수 부족 자동 보 위 확장 padLeft,padRight 구현 코드 에 대한 상세 한 내용 입 니 다.js 자동 보 위 padLeft,padRight 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기