js陣列物件
一、屬性
1.length設定或返回陣列元素的數目。
2.constructor返回建構函式的引用
var a=["a","b",1,2];
alert(a.constructor)
//function Array(){
[native code]
}
二、方法 A.刪除或新增類
1. myarr.push(陣列元素......) 向陣列的末尾新增新的元素,返回值是新陣列的長度。可以一次新增多個元素
var a=["a","b",1,2];
alert(a.push("c","d"))
alert(a)
2. myarr.unshift(陣列元素.....)向陣列的開頭加入新的元素,返回值是新陣列的長度可以一次新增多個元素
var a=["a","b",1,2];
alert(a.unshift("c","d"))
alert(a)
3. myarr.pop()刪除陣列的最後一個元素,返回刪除的元素
var a=["a","b",1,2];
alert(a.pop())
4. myarr.shift() 刪除陣列的第一個元素,返回刪除的元素
var a=["a","b",1,2];
alert(a.shift())
5.萬能的新增刪除函式 myarr.splice(index,數量,新增的元素.....)
(1)index 從何處開始新增或刪除,必須是數值型別(陣列的下標)
(2) 數量 規定了刪除的個數,如果是0,則不刪除 (3) 需要新增的元素,可以當作替換的元素
如果有刪除的元素,返回刪除的元素
var a=["a","b",1,2];
alert(a.splice(1,0,"c","d"))
B.陣列的轉換 mystr.split() myarr.join([分隔符]) 把陣列元素按照指定分隔符組合成一個字串,如果沒有指定分隔符,預設是用“,” 返回結果就是組合成的字串
var a=["a","b",1,2];
alert(a.join())
alert(a.join("-"))
C.陣列的分割 myarr.slice()從擷取指定的開始位置,到結束位置(不包括)的元素。如果不指定結束位置,則從 指定的開始位置,取到結尾(陣列的下標) 支援負數(-1開頭) 返回新陣列。
var a=["a","b",1,2,"百度","www.baidu.com"];
alert(a.slice(2,4))
alert(a.slice(2))
alert(a.slice(-2,-1))
D.排序 氣泡排序 myarr.sort() 對陣列進行排序,如果沒有引數,則按照字母的編碼進行排序,如果要按照其他的順序 來排序,要提供一個函式。
var arr=[2,1,34,12,45]
// 2 1 1 1 1
// 1 2 2 2 2
// 34 34 34 12 12
// 12 12 12 34 34
// 45 45 45 45 45
function mySort (fun) {
for (var i=0; i<this.length; i++) {
for (var j=0; j<this.length-i; j++) {
if(this[j]>this[j+1]){
var aa=this[j];
this[j]=this[j+1]
this[j+1]=aa;
}
}
}
return this
}
Array.prototype.mySort= mySort
alert(arr.mySort())
sort排序會提供兩個引數(a,b) a<b a在b前 a=b a<b
sort()
var a=["b","a","c","www.baidu.com"];
ar a=[1,3,5,2];
var a=[12,34,123]
a.sort(function(a,b) {
return a-b
});
alert(a)
F.陣列的連線 myarr.concat() 連線兩個或更多的陣列,並返回新陣列,但是對原陣列沒有任何影響.
var a=[1,2,3];
var c=["a","b","c"]
alert(a.concat(a,c))