JS內建物件 Array
JS的內建物件主要分為四大類:Array String Math Date,我們主要介紹Array
Array
陣列內的每一項都可以儲存任意型別的資料,陣列的大小可根據需要進行調整。
1. 建立
a. 使用建構函式:
var colors= new Array( ) 括號內可以時陣列的資料個數,也可以是每一項具體的資料,但要注意的是,每一項資料之 間用逗號隔開。
b. 陣列字面量表示法
var colors=[1,2,3] 每項資料之間用逗號隔開。
2. 元素的訪問與設定
[ ]進行訪問,從0開始。超出陣列的長度,返回值為undefined。
3. 長度
array.length,返回值為number.
可以設定陣列長度以此能在陣列的末尾新增或者刪除新的資料項。
把一個放在超出當前陣列大小的位置時,系統會自動重新計算陣列的長度,長度值為最後一項索引加一。
4. 遍歷
for(var i=0;i<array.length;i++) {
console.log(array[i]);
}
5. 陣列中一些常用的方法
a. push( ) arrayObject.push( value1,value2...)
將括號內的value值依次順序的新增到arrayObject尾部
返回陣列的新長度
b. unshift( ) arrayObject.unshift(value1,value2...)
將括號內的value值依次順序的新增到arrayObject頭部
返回陣列的新長度
c. pop( ) arrayObject.pop( ) 刪除最後一個元素,返回刪除的元素
d. shift( ) arrayObject.shift( ) 刪除第一個元素,返回刪除的元素
e. join( ) arrayObject.join( 分隔符)
將陣列中的元素放入一個字串,返回一個字串;分隔符預設逗號,不寫預設空格。
f. sort( ) arrayObject.sort( )
對陣列元素進行排序,返回值為陣列
即使陣列中的每一項都是數字,該方法比較的還是字串,按照字串的順序進行排序
可以接收一個比較函式作為引數
array.sort( function ( x, y ) {
return x-y; // 順序輸出
return y-x; // 降序輸出
})
g. reverse( ) arrayObject.reverse( ) 將陣列中的元素顛倒然後輸出,返回陣列
h. concat( ) arrayObject.concat(陣列1,陣列2...... ) 連線兩個或者多個數組,返回陣列
arr3=arr1.concat(arr2) 1連線2然後放到3裡面
i. slice( ) arrayObject.slice( start ,end ) 返回陣列選定的元素 返回值為陣列
start:必需,從哪開始,可以是負數,負數+陣列的長度就是start
end:可選,截止位置,不寫預設到最後一個字元
擷取的元素從start開始,到end-1結束
[例題]:var a=[1,'yes',3] b; 請做b對a的複製,方法越多越好
方法一:陣列遍歷
b=new Array();
for( var i=0;i<a.length;i++)
{
b.push(a[i]);
}
方法二: 使用concat( )
b=[].concat(a);
方法三:使用slice( )
b=a.slice(0);
j. splice( )
<1> 刪除 arrayObject.splice( index,count)
刪除從index處開始的count個元素,返回被刪除元素的陣列,count為0時,不做任何操做,count不設定值時,從index後的所有元素都將被刪除。
<2> 插入 arrayObject.splice( index,0,value1,value2......)
從index位置插入value的值,返回陣列。在索引的後一位插入資料
<3> 替換 arrayObject.splice( index,count,value1,value2......)
返回值:從原始陣列中刪除的資料,沒刪除返回空陣列, count為要刪除的項數
k. indexOf( ) arrayObject.indexOf( searchvalue, startIndex)
searchvalue:必需,所要查詢的資料
startIndex: 可選,起點的位置,預設為0
返回值:number, 返回查詢的項在陣列中的位置,未找到返回-1
l. lastIndexOf( ) 和上一個類似,從陣列的最後一個元素開始查詢。