js資料存貯之陣列與json
1 陣列:var arr=new array()或者是var arr=[ ];其中arr是物件 可以定義var a=[],或者var b=[] 都可以
陣列物件為[13,25,65,89] 如果我們要取出89這個數,那麼 arr[3]就是89
陣列是用下標來表示的,下標是從0開始;
假如我們有一個數組var a=[66,66,66,66],此時陣列從a[0]到a[3],如果我們想新增一個數66,在不知道前面陣列數量的情況下 假設我們寫a[5]=66 則會顯示a=[66,66,66,66,undined,66]
要想加在後面 我們可以用a.push(66) 就會變為a=[66,66,66,66,66,]
求和:var arr=[66,66,66,66,]
Var shu=0; For(a=0,a<=3,a++){ Shu=shu+arr[a] }
但是當陣列數量特別多的情況下 我們不知道數量 沒法計算迴圈次數,此時用到arr.length 這是是陣列中的數量 並不是下標 所有數量-1才是下標
數組裡面可以套陣列 稱為二維陣列 例:
Var arr=[669,69,[25,23,56],89] 這就是二維陣列
我們要是想取值23 a[2][1] 就是取出來23
練習題:給定一個數組 求它的最大值、平均值、求和 陣列為[45,85,256,82,68,25,4752,21,62,542,51]
var shua=0; var shub=0; var sum=0; var c=0;//定義陣列數量 var d=0;//定義平均值 //將陣列存入 var arr=[45,85,256,82,68,25,4752,21,62,542,51]; for (a=0;a<arr.length;a++) {//將陣列中的數賦值給shua shua=arr[a]; //記錄迴圈次數 c++; //如果shua大於shub,則將shua的值給shub,從而保證 shub是最大值 if(shua>shub){ shub=shua; } //求和 sum+=shua; } //計算平均值 d=sum/c; document.write("最大值為"+shub); document.write("<br />"); document.write("求和為"+sum); document.write("<br />"); document.write("平均值為"+d);
2 json
json的兩個重要屬性為 key與值
基本格式為var a={key:值,key:值,key:值} 取出值的時候a[“key”]必須要加引號,key值用字串形式:“key”
在json中用到一個迴圈遍歷迴圈
var a ={ "li" : 1, "liu" : 2, "zhang" : 3, "wang" : 4, "5" : 5, "6" : 6 }; for(var b in a){ alert(a[b]); console.log(a[b]); }
這樣就能將json中的陣列都顯示出來
json也可以套json 稱為二維json 三維json
var a={ "yi":1, "er":2, "san":3, "si":{ "yi":11, "er":22, "san":33, "wu":{ "yi":111, "er":222, "san":333 } } } console.log(a["si"]["san"]);
這樣輸出的就是33
練習題:有三個年級
一年級:3個班
二年級:3個班
三年級:3個班
選擇對應年級顯示有那幾個班,再選擇某個班,顯示有哪幾個學生
把二年二班的同學打印出來
var nianji={ "yinianji":"一年級", "ernianji":"二年級", "sannianji":"三年級" } var banji={ "一年級":{ yiban:"一年級一班", erban:"一年級二班", sanban:"一年級三班" }, "二年級":{ yiban:"二年級一班", erban:"二年級二班", sanban:"二年級三班" }, "三年級":{ yiban:"三年級一班", erban:"三年級二班", sanban:"三年級三班" } } var xuesheng={ "一年級一班":{ xiaoming:"小明", xiaohong:"小紅" }, "一年級二班":{ xiaoming:"小明", xiaohong:"小紅" }, "一年級三班":{ xiaoming:"小明", xiaohong:"小紅" }, "二年級一班":{ xiaoming:"小明", xiaohong:"小紅" }, "二年級二班":{ xiaoming:"小明", xiaohong:"小紅" }, "二年級三班":{ xiaoming:"小明", xiaohong:"小紅" }, "三年級一班":{ xiaoming:"小明", xiaohong:"小紅" }, "三年級二班":{ xiaoming:"小明", xiaohong:"小紅" }, "三年級三班":{ xiaoming:"小明", xiaohong:"小紅" } } console.log(xuesheng[banji[nianji["ernianji"]]["erban"]])