Posted on 2010-01-14 21:30
斷點 閱讀(537)
評論(0) 編輯 收藏 所屬分類:
JScript
數組分類:
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);
}
}
}
}
posted @ 2009-08-14 21:28 斷點 閱讀(202) | 評論 (0)