Re: [問題]javascript 陣列 JSON
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):