數組分類:
1、從數組的下標分為索引數組、關聯陣列
/* 索引數組,即通常情況下所說的數組 */
var ary1 = [1,3,5,8];
//按索引去取數組元素,從0開始(當然某些語言實現從1開始),索引實際上就是序數,一個整型數字
alert(ary1[0]);
alert(ary1[1]);
alert(ary1[2]);
alert(ary1[3]);
/* 關聯陣列,指以非序數類型為下標來存取的數組 python中稱為字典 */
var ary2 = {}; //存取時,以非序數(數字),這裡是字串
ary2["one"] = 1;
ary2["two"] = 2;
ary2["thr"] = 3;
ary2["fou"] = 4;
2、從對資料的儲存分為靜態數組、動態數組
/* java中的靜態數組 */
Int[] ary1 = {1,3,6,9}; //定義後數組的長度固定了不能改變,按索引取數組元素
/* java中的動態數組 (java中的ArrayList實現是以Array為基礎的。)*/
List<Integer> ary2 = new ArrayList<Integer>();
ary2.add(1);//可以動態添加元素,數組的長度也隨著變化
ary2.add(3);
ary2.add(6);
/* js的數組屬於動態數組 */
var ary = [];//定義一個數組,未指定長度
ary[0] = 1;//可以動態添加元素
ary.push(3);
ary.push(5);
alert(ary.join(","));//輸出1,3,5
js的數組同時屬於索引數組和動態數組,因為本質上它就是一個js對象,體現著js動態語言特性。但js的索引數組並非“連續分配”記憶體的,因此索引方法並不會帶來很高的效率。而java中的數組則是連續分配記憶體的。
例子:
function test(){
var oneArray=new Array();
oneArray["first"]="firstValue";
oneArray["second"]="secondValue";
oneDrapList=document.createElement("select");
for(att in oneArray){
var oneOption=document.createElement("option");
oneOption.text=oneArray[att]
oneOption.value=att;
try{
oneDrapList.add(oneOption,null);
}
catch(ex){
oneDrapList.add(oneOption);
}
}
}
function test(){
var obj = tool.getFilterByName("<%=dwname%>",'VehicleClass');
if(obj){
var cProdNo = '<%=cProdNo%>';
if(cProdNo=="0316"||cProdNo=="0325"){
var array = {">機車類":">機車類","曳引車類":"曳引車類"};
for(var temp in array){
var option = new Option(temp,array[temp]);
obj.add(option);
}
}
}
}