"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中的數組則是連續分配內存的。