JS中數(shù)組分為索引數(shù)組和關(guān)聯(lián)數(shù)組(又稱哈希數(shù)組)。
區(qū)別:
索引數(shù)組以無意義的數(shù)字為下標,哈希數(shù)組以有意義的字符串為下標。
索引數(shù)組有長度,哈希數(shù)組沒有長度。
定義一個索引數(shù)組:
//創(chuàng)建空數(shù)組
var arr=[]; ? ? ?或者 ? ?var arr= new Array(); ??
//創(chuàng)建數(shù)組并賦值
var arr=[值1,值2,...];
var arr=new Arrary(值1,值2,...);
//創(chuàng)建n個空元素的數(shù)組。
var arr = new Arrary(n);
索引數(shù)組的長度,var length=arr.length.
定義一個哈希數(shù)組:
//創(chuàng)建空數(shù)組
var lxr=[];
//向空元素中添加元素,為每個元素命名。
lxr["name"]="林心如";
lxr["age"]=25;
綜合:var lxr=["name":"林心如","age":25];
棧和隊列
JS中沒有棧和隊列的類型,只有調(diào)用數(shù)組API,按一定順序操作數(shù)組元素,模擬棧和隊列。
棧:一端封閉另一端進出的數(shù)組
分兩種,結(jié)尾入棧和開頭入棧
結(jié)尾入棧
入:arr.push(值);
出:var last=arr.pop();
特點:無論出棧還是入棧操作,數(shù)組元素的位置不變。
開頭入棧
入:arr.unshift(值);
出:var first=arr.shift();
特點:每次出入站,數(shù)組元素位置發(fā)生改變。入棧,元素位置后移,出棧,元素位置前移。
隊列:一端進去另一端出來的數(shù)組
綜合開頭出棧和結(jié)尾入棧
結(jié)尾入隊列:arr.push(值);
開頭出隊列:var first=arr.shift();