給數組原型添加方法

對象原型

每個JavaScript對象都和另外一個對象相關聯, 並從另外一個對象繼承屬性,另外一個對象就是"原型",
用直接量建立的對象 都具備同一個原型對象 Object.prototype 。

如下經過幾個例子幫助咱們理解稍微理解原型---對象的屬性一部分繼承於該對象的原型。數組

1. 給數組原型添加把稀疏數組變爲不稀疏數組的方法

/**
 * noSparse()
 * @return array resArr
 */
Array.prototype.noSparse = function(  ){
    var resArr = [];
    for( var i = 0 ; i < this.length ; i++ ){

        if( this[i] !== undefined ){
            resArr.push( this[i] );
        }
    }
    return resArr;
}

var arr_demo1 = [1,2,,,,,3,4,,'a',['A','B','C'],,'M'];
console.log( arr_demo1.noSparse(  ) );


console.log("-------------------");

2. 給數組原型添加檢測一個元素在不在數組裏面的方法

/**
 * inArray()
 * @params int type 當type === 1是 是全等比較  除此以外 都是比較值
 * @params fixed ele
 * @return boolean true or false
 * 
 */
Array.prototype.inArray = function(ele,type ){
    for( var i = 0 ; i < this.length ; i++ ){
        if( type === 1 ){
            if( ele === this[i] ){
                return true;    
            }
        } else {
            if( ele == this[i] ){
                return true;
            }
        }
        
    }

    return false;

}

var arr_demo2 = [1,3,5,7,9,'a','b'];
console.log( arr_demo2.inArray( "1",1) );



console.log("------------------------");

3. 給數組原型添加去重複元素方法

/**
 * noRepeat()
 * @return array resArr
 */
Array.prototype.noRepeat = function() {
    var resArr = [];
    for( var i = 0 ; i < this.length ; i++ ){
        if( !resArr.inArray( this[i] ,1 ) ){
            resArr.push( this[i] );
        }
    }

    return resArr;
}

var arr_demo3 = [1,1,2,2,4,5,3,5,6,7,5,3,8,9,8,9];
console.log( arr_demo3.noRepeat() );
相關文章
相關標籤/搜索