1. 程式人生 > >javascript基礎--陣列(基礎,迭代器,擴充套件陣列的方方法)

javascript基礎--陣列(基礎,迭代器,擴充套件陣列的方方法)

一、陣列的基礎:

增: 

        頭部增加:arr.unshift(3,4,5)      arr=[3,4,5]   原arr改變 ,一次可以增多個,括號裡可寫增加的內容;如 arr=[]

        尾部增加:arr.push(7,6)           arr=[3,4,5,7,6]  原arr改變 ,一次可以增多個,括號裡可寫增加的內容;如 arr=[]

刪:

       尾部刪: arr.pop()     原arr改變 ; 括號裡不需要引數,一次只刪一個

        頭部刪:arr.shift()     原arr改變 ; 括號裡不需要引數,一次只刪一個

改:

   連線:arr.concat(arr1)    c=arr.concat(arr1)   arr和arr1連線成一個新的陣列c,原陣列都不變,返回新陣列

  擷取:arr.slice(index1,index2)  引數index可正可負,包含arr[index1],不包含arr[index2],原陣列都不變,返回新陣列

  綜合:arr.splice(1,2,3,4,5),其中第一個引數為index,第二個引數為刪除的個數,其餘的為在原位置上替換的新內容, 返回被刪                   除的內容,原陣列也改變,如arr=[1,3,4,5] arr.splice(1,2,66,77,88) 返回[3,4] ,原陣列arr=[1,66,77,88,5]

查:

  for迴圈: for(var i=0,length=arr.length;i<length;i++){ console.log( arr[i])}  遍歷出陣列的每一項

 for/in:  for(var item in arr){ console.log(arr[item])}

排序:

    翻轉:arr.reverse()    原arr改變  arr=[1,2,3,4] arr.reverse()   [4,3,2,1]

    排序:sort(f)     sort()預設按字母升序,可以定義函式f,定製排序規則

       數值 小到大 :   function f(a,b){return a-b}      arr.sort(f) 返回的是 數值小到大的陣列(是原陣列改變的)

       數值大到小:    function g(a,b){return b-a}     arr.sort(g) 返回的是 數值大到小的陣列(是原陣列改變的)

 

二--陣列的擴充套件方法:

 Array.prototype._m=Array.prototype.m||(Array.prototype.m=function(){ //擴充套件方法的具體程式碼 });

Object.prototype.m=Array.prototype._m

舉例:為陣列擴充套件一個求所有元素和的方法

 Array.prototype._m=Array.prototype.m||(Array.prototype.m=function(){

       //擴充套件方法的具體程式碼 

   var _n=0;

   for(var i in this){

     if(this[i]=parseFloat(this[i])){_n+=this[i]}  //如果陣列元素是數字,則進行累加(先試圖把每個元素轉成浮點數,成功則相累加,失敗返回NaN,會忽略該元素的值)

 }

return _n; //返回累加的和

});

Object.prototype.m=Array.prototype._m

var a=[1,2,3,4,5,6,7,8,"9"]  a.m()  //45

三、陣列迭代器(未完待續)