JS 라이브러리 함수 수집 중...

2792 단어 js
string을 실현하는substring 방법
 
방법1:charAt로 절취 섹션 꺼내기
String.prototype.mysubstring=function(beginIndex,endIndex){

    var str=this,

        newArr=[];

    if(!endIndex){

        endIndex=str.length;

    }

    for(var i=beginIndex;i<endIndex;i++){

        newArr.push(str.charAt(i));

    }

    return newArr.join("");

}



//test

"Hello world!".mysubstring(3);//"lo world!"

"Hello world!".mysubstring(3,7);//"lo w"

방법2: 문자열을 수조로 변환한 후 필요한 부분을 꺼내기
String.prototype.mysubstring=function(beginIndex,endIndex){

    var str=this,

        strArr=str.split("");

    if(!endIndex){

        endIndex=str.length;

    }

    return strArr.slice(beginIndex,endIndex).join("");

}



//test

console.log("Hello world!".mysubstring(3));//"lo world!"

console.log("Hello world!".mysubstring(3,7));//"lo w"

방법3: 머리와 꼬리 부분을 추출한 다음replace로 여분의 부분을 제거하여beginIndex가 비교적 작고 문자열의 길이-endIndex가 비교적 작은 경우에 적용
String.prototype.mysubstring=function(beginIndex,endIndex){

    var str=this,

        beginArr=[],

        endArr=[];

    if(!endIndex){

        endIndex=str.length;

    }

    for(var i=0;i<beginIndex;i++){

        beginArr.push(str.charAt(i));

    }

    for(var i=endIndex;i<str.length;i++){

        endArr.push(str.charAt(i));

    }

    return str.replace(beginArr.join(""),"").replace(endArr.join(""),"");

}



//test

console.log("Hello world!".mysubstring(3));//"lo world!"

console.log("Hello world!".mysubstring(3,7));//"lo w"


 
add,remove,containes,length 방법이 있는 HashTable 클래스 시뮬레이션
var HashTable =function(){

    this.container={

        length:0

    };

}



HashTable.prototype={

    add:function(key,value){

        if(key in this.container){

            return false;

        } else {

            this.container[key] = value;

            this.container.length++;

            return true;

        }

    },

    remove:function(key){

        if(key in this.container){

            delete this.container[key];

            this.container.length--;

            return true;

        }

    },

    containes:function(key){

        return (key in this.container);

    },

    length:function(){

        return this.container.length;

    }

}



var test = new HashTable();

test.add(1,123);

test.add(1,123);

test.add(2,123);

test.add(3,123);

test.add(4,123);

test.add(5,123);

console.log(test.containes(3));//true

console.log(test.length());//5

test.remove(3);

console.log(test.containes(3));//false

console.log(test.length());//4

 
 
 

좋은 웹페이지 즐겨찾기