Re: [問題]javascript 陣列 JSON

看板Ajax作者 (ideas for life)時間9年前 (2014/08/09 00:35), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《leochen0818 (米拔)》之銘言: : 假設在選舉中,候選人A ~ D於選區1 ~ 5的得票數如下 : ┌────┬────┬────┬────┬────┬────┐ : │ │第1選區 │第2選區 │第3選區 │第4選區 │第5選區 │ : ├────┼────┼────┼────┼────┼────┤ : │候選人A │ 1521 │ 3002 │ 789 │ 2120 │ 1786 │ : ├────┼────┼────┼────┼────┼────┤ : │候選人B │ 522 │ 765 │ 1200 │ 2187 │ 955 │ : ├────┼────┼────┼────┼────┼────┤ : │候選人C │ 2514 │ 2956 │ 1555 │ 1036 │ 4012 │ : ├────┼────┼────┼────┼────┼────┤ : │候選人D │ 1226 │ 1985 │ 1239 │ 3550 │ 781 │ : └────┴────┴────┴────┴────┴────┘ : 試撰寫一個javascript程式, : 令它重複出現對話方塊要求使用者輸入每位候選人在各個選區的得票數, : 輸入完畢後再顯示每位候選人的總得票數。 : ---- : 上述是一本書內的練習題, : 在不考慮HTML跟呈現方式的話,大家會怎麼寫? : ---- : 我個人本來是想用多維陣列的方式,例如: : var election = new Array("候選人A", "候選人B", "候選人C", "候選人D"); : 然後利用迴圈自動產生其餘的部分,例如: : http://jsbin.com/devulo/5/edit : 可是這樣寫不算真的二維陣列? : 而且election[i]的部分無法正常顯示, : 因為陣列無法用字串當索引? 釐清一下觀念先, 陣列也是一個object, 所以可以賦予屬性 比如說 var a = []; a["hello"] = "world"; 並不是在陣列裡面加入一個值這種概念, 而是在a這個物件裡面加入屬性hello並賦值world 這時候您打印a.length是0, 但您打印a.hasOwnProperty("hello")會是true. : 所以好一點的寫法是用JSON?例如: : var election = { : 候選人A: {....}, : 候選人B: {....}, : 侯選人C: {....}, : 侯選人D: {....} : } : 但這樣我就不會寫了... : 懇請大家指導,萬分感謝!! 這種寫法叫做object literal, 物件實字. 您要迭代物件的屬性使用for in loop就可以了. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.240.151.203 ※ 文章網址: http://www.ptt.cc/bbs/Ajax/M.1407515703.A.54D.html

08/10 11:50, , 1F
感謝您的耐心指導!!小子受用無窮:)
08/10 11:50, 1F
文章代碼(AID): #1JvFmtLD (Ajax)
文章代碼(AID): #1JvFmtLD (Ajax)