>웹 프론트엔드 >JS 튜토리얼 >일부 배열 및 문자열 프로토타입 object_javascript 기술에 대한 확장된 구현 코드 모음

일부 배열 및 문자열 프로토타입 object_javascript 기술에 대한 확장된 구현 코드 모음

WBOY
WBOY원래의
2016-05-16 18:14:38835검색

Wuyou Script에서 수집한 것 중 일부는 정말 훌륭하고 실용적이며 수집할 가치가 있습니다.
Array의 프로토타입 객체 확장 방법

코드 복사 코드는 다음과 같습니다.

//배열의 데이터 삭제
Array.prototype.del = function(n)
{
(n<0)인 경우 return
이것을 반환합니다. Slice(0,n ).concat(this.slice(n 1,this.length));
}
// 배열 섞기
Array.prototype.random = function()
{
var nr =[], me=this, t;
while(me.length>0)
{
nr[nr.length] = me[t = Math.floor(Math.random () * me .length)];
me = me.del(t);
}
return nr;
}
//숫자 배열 정렬
Array.prototype. sortNum = function( f)
{
if (!f) f=0;
if (f==1) return this.sort(function(a,b){return b-a;});
return this.sort(function(a,b){return a-b;});
}
// 숫자 배열의 최대 항목 가져오기
Array.prototype.getMax = function()
{
return this.sortNum(1)[0];
}
// 숫자 배열의 최소 항목 가져오기
Array.prototype.getMin = function()
{
return this.sortNum (0)[0];
}
// 배열에서 지정된 요소 값이 처음 나타나는 위치
Array.prototype.indexOf = function(o)
{
for (var i =0; ireturn -1; 배열에서 중복 항목 제거
Array.prototype.removeRepeat()
{
this.sort()
var rs = []
var cr = false; >for (var i=0; i< ;this.length; i )
{
if (!cr) cr = this[i]
else if (cr==this[i]) rs [rs.length] = i;
else cr = this[i]
}
var re = this
for (var i=rs.length-1; i>=0; i--) re = re.del (rs[i]);
return
}


예:
var arr=["ni","wo ","ta"];
배열에서 "wo" 삭제
var newArr=arr.del(1);
배열에서 "me"가 처음 나타나는 위치를 반환하고, 그렇지 않으면 반환 -1
var strPos=arr .indexOf("me");


String의 프로토타입 객체를 확장하는 방법


코드 복사 코드는 다음과 같습니다. //문자 배열 가져오기
String.prototype.ToCharArray=function()
{
return this.split("");
}
//N개의 동일한 문자열 가져오기
String.prototype.Repeat=function(num)
{
var tmpArr=[] ;
for(var i=0; ireturn tmpArr.join("")
//역순
String.prototype.Reverse=function()
{
return this.split("").reverse().join("");
}
//숫자인지 테스트
String.prototype.IsNumeric=function()
{
var tmpFloat=parseFloat(this);
if(isNaN(tmpFloat)) return false
var tmpLen=this.length- tmpFloat.toString().length;
return tmpFloat " 0".Repeat(tmpLen)==this;
}
//정수인지 테스트
String.prototype.IsInt=function ()
{
if(this=="NaN ") return false;
return this==parseInt(this).toString()
}
// 여러 공백을 결합하여 공백 하나
String.prototype.resetBlank = function()
{
return this.replace(/s /g," ");
}
// 왼쪽 공백 제거
String.prototype.LTrim = function()
{
return this.replace(/^s /g,"")
}
// 오른쪽 공백 제거
String.prototype .RTrim = function()
{
return this. replacement(/s $/g,"")
}
// 양쪽 공백 제거
String.prototype.trim = function()
{
return this.replace(/( ^s )|(s $)/g,"")
}
// 예약된 숫자
String.prototype .getNum = function()
{
return this.replace( /[^d]/g,"");
}
// 예약 문자
String.prototype.getEn = function()
{
return this.replace(/[^ A-Za-z]/g,"")
}
// 중국어 유지
String.prototype.getCn = function()
{
return this.replace(/[ ^u4e00-u9fa5uf900-ufa2d]/g,"");
}
// 바이트 길이를 가져옵니다
문자열. 프로토타입.getRealLength = function()
{
return this.replace (/[^x00-xff]/g,"--").length;
}
//다음 문자열을 자릅니다. 왼쪽부터 지정된 길이
String.prototype.left = function(n)
{
return this.slice(0,n);
}
//지정된 길이의 문자열 자르기 오른쪽에서
String.prototype.right = function(n)
{
return this.slice(this.length-n)
}
// HTML 인코딩
String .prototype.HTMLEncode = function()
{
var re = this
var q1 = [/x26/g,/x3C/g,/x3E/g,/x20/g]; >var q2 = ["&","<",">"," "]
for(var i=0;ire = re.replace( q1[i],q2[i]);
return re;
}
//유니코드 변환
String.prototype.ascW = function()
{
var strText = "";
for (var i=0; ireturn strText;
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.