JS關聯陣列

來源:互聯網
上載者:User

數組分類:
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);
         }
    }
  }
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.