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
三、陣列迭代器(未完待續)