一、建立
[javascript]
//最簡單的方法就是使用數組直接量
var empty=[];
var primes=[2,3,4,5,6];
var misc=[1.1,true,"a"];
//數組直接量的值也可以是運算式
var table=[base,base+1,base+2,base+3];
//也可以包含對象或者其他數組
var b=[[1,{x:1,y:2}],[2,{x:3,y:4}]];
//未定義的元素可以通過忽略逗號直接的元素值來建立
var count=[1,,3];
var undefs=[,,];
//建立數組的另一種方法是使用 Array() 建構函式
//無參數調用
var a= new Array{};
//顯式指定數組前n個元素的值
var a=new Array(5,4,3,2,1,"testing testing");
//傳遞一個數字參數,指定了數組的長度
var a=new Array(10);
二、遍曆數組
[javascript]
//常用方式
var fruits=["mango","banana","cherry","pear"];
for(var i=0;i<fruits.length;i++)
{
alert(fruits[i]);
}
//如果有未定義的元素,則需要驗證下
for(var i=0;i<fruits.length;i++)
{
if(fruits[i]) alert(fruits[i]);
}
//可以使用同樣的方法來初始化Array()
var lookup_table=new Array(1024);
for(var i=0;i<lookup_table.length;i++)
{
lookup_table[i]=i*512;
}
三、數組方法
[javascript]
//join()方法
//把數組中的所有元素都轉換成字串
var a=[1,2,3];
var s=a.join(); //s=="1,2,3"
//指定分隔字元
s=a.join("|"); //s=="1|2|3"
//reverse()方法
//顛倒數組元素的順序
var a=new Array(1,2,3);
a.reverse();
//sort()方法
//對數組元素進行排序,返回排序後的數組
var a=new Array["banana","cherry","apple"];
a.sort();
var s=a.join(","); //s=="apple,banana,cherry"
//如果要要按別的順序排序,必須將一個比較函數作為參數傳遞,如果第一個參數應該位於第二個參數錢,則返回一個小於0的數,後則返回大於0的數,相等返回0
var a=[33,4,111,222];
a.sort();
a.sort(function(a,b)
{
return a-b;
}
);
//concat()方法
//建立並返回一個數組,包含了調用方法的原數組的元素,同時將包含的參數添加到返回的數組中,但不能遞迴地展開數組
var a=[1,2,3];
a.concat(4,5); //returns [1,2,3,4,5]
a.concat([4,5]); //returns [1,2,3,4,5]
a.concat([4,5],[6,7]); //returns [1,2,3,4,5,6,7]
a.concat(4,[5,[6,7]]); //returns [1,2,3,4,5,[6,7]]
//slice() 方法
//返回的是指定數組的一個片段,兩個參數指定了要返回的片段的起止點
var a=[1,2,3,4,5];
a.slice(0,3); //returns [1,2,3]
a.slice(3); //returns [4,5]
a.slice(1,-1); //returns [2,3,4]
a.slice(-3,-2); //returns [3]
//splice()方法
//第一個參數指定要插入或刪除的元素在數組中的位置,第二個參數指定了要從數組中刪除的元素的個數,如果第二個參數省略了,那麼將刪除從開始元素導數組結尾處的所有元素
var a-[1,2,3,4,5,6,7,8];
a.splice(4); //returns [5,6,7,8]; a is[1,2,3,4]
a.splice(1,2); //returns[2,3];a is[1,4]
a.splice(1,1); //returns[4]; a is[1]
//後面的參數指定的是從第一個參數位置插入的元素
var a=[1,2,3,4,5];
a.splice(2,0,'a','b'); //returns []; a is[1,2,'a','b',3,4,5]
a.splice(2,2,[1,2],3); //returns ['a','b'] ; a is [1,2,[1,2],3,3,4,5]
//push()將一個或多個新元素附加到數組的尾部,返回數組的新長度
//pop() 刪除一個或多個元素,返回刪除的值
var stack=[];
stack.push(1,2); //stack:[1,2] returns 2
stack.pop(); //stack:[1];returns 2
四、類似數組的對象
[javascript]
//給一個常規的對象添加屬性使其成為一個類似數組的對象,然後遍曆所得的偽數組的“元素”
var a={};
var i=0;
while(i<10){
a[i]=i*i;
i++;
}
a.length=i;
var total=0;
for(var j=0;j<a.length;j++){
totl+=a[j];
}
作者:dxh_0829