js便利關聯數組 及數組定義方式 分類


"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>無標題文檔</title>
<script type="text/javascript">
var arr = new Array();  
  
//隨便創建關聯數組的數據如下:  
  
arr["name"] = "mary";  
  
arr["age"] = "3";  
  
arr["sex"] = "man";  
  
//利用 for 循環遍歷如下:  
for( var key in arr)  
{  
      // 則上面 key 變量所取的值為 "name" 或 "age" 或 "sex",  
    //而不是數組的值  
    // 下面的 value 才是取到對應的值  
    alert(arr[key]);  
}
</script>
</head>

<body>

</body>
</html>
<html>

  <head>

    <title>js中數組的定義方試</title>

    <script type="text/javascript">

      /*

         數組:

          1.數組內可以存放任意類型的數據

          2.數組元素不賦值,則是undefined

          3.(打印)數組時,如果某個元素沒有賦值,則是“”;

          4.訪問數組范圍以外的元素時,不會出現越界異常,為undefined;

          5.定義的數組很小,依然能夠添加更多的元素。

      */

      /*

         //第一種

          var arr = new Array();//直接定義,沒有規定數組大小

--------------------------------------------------------------------------------------          

          var arr = new Array();
          arr[0]=1;
          arr[1]=true;
          arr[2]='hello';
          alert(arr);

------------------------------------------------------------------------------------------------------

          var arr2 = new Array(2);
          arr2[0]=1;

          arr2[2]='hello';

          alert(arr2);//結果為1,,hello

------------------------------------------------------------------------------------------------------------

          var arr2 = new Array(2);
          arr2[0]=1;

          arr2[2]='hello';

          alert(arr2[1]);//結果為undefined;

          //第二種

          var arr2 = new Array(2);//數組大小規定為2

          var arr2 = new Array(2);
          arr2[0]=1;
          arr2[1]=true;
          arr2[2]='hello';

          alert(arr2);          

 

          //第三種

          var arr2 = new Array(hello,123,true);//直接寫入數組中,可以是任意類型元素

          var arr3 = new Array(1,true,'hello');

          alert(arr3);//1,true,'hello'

          

          //第四種

          var arr2 = [hello,123,true];//直接寫入數組中,可以是任意類型元素,直接用中括號括起來,這里要和java中數組定義嚴格區分開。

           var arr4 = [1,true,'hello'];

          alert(arr4); //1,true,'hello'

   */

    </script>

  </head>

</html>

數組分類:

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);<strong> </strong>
/* js的數組屬於動態數組 */
var ary = [];//定義一個數組,未指定長度
ary[0] = 1;//可以動態的添加元素
ary.push(3);
ary.push(5);
 
alert(ary.join(","));//輸出1,3,5

js的數組同時屬於索引數組和動態數組,因為本質上它就是一個js對象,體現着js動態語言特性。但js的索引數組並非“連續分配”內存的,因此索引方式並不會帶來很高的效率。而java中的數組則是連續分配內存的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM