作者TonyQ (沉默是金)
看板Ajax
標題Re: [問題] 關於javascript的多階雜湊陣列宣告
時間Fri Jul 31 11:13:19 2009
※ 引述《no1kk (心中在下雨)》之銘言:
: 我有一個
: 縣市 對應 鄉鎮市區 及 郵遞區號 的陣列
: 大致像下面這樣
: var my_city=new Array();
: my_city['台北市']=new Array();
: my_city['台北市']['100']='中正區';
: my_city['台北市']['103']='大同區';
: .
: .
: .
: my_city['台北縣']=new Array();
: my_city['台北縣']['207']='萬里鄉';
: my_city['台北縣']['208']='金山鄉';
: .
: .
: .
: .
: 這些東西我寫進js檔之中,以便之後使用
: 因為我想要精簡檔案的大小
: 想要將上述陣列很多重複的地方經精簡(如縣市名)
: 但是經過我實際測試
: 並沒辦法像下面這樣宣告
: var my_city=new Array(
: '台北市'=>Array(
: '100'=>'中正區','103'=>'大同區'
: ),
: '台北縣'=>Array(
: '207'=>'萬里鄉','208'=>'金山鄉'
: )
: );
: (實際做的時候沒有斷行,這是為了方便閱讀)
: 請問應該要怎麼宣告呢?
: 感謝
其實以你表達出來的 code , 適用的不是 array , 而是object.
最簡單的做法是 json 表示法
http://www.json.org/
重點在於 {} 是object , [] 是 array
{key:value,key2:val2};
你的code 可以簡寫為
var my_ctiy={
台北市:
{
100:'中正區',
103:'大同區'
},
台北縣:{
207:'萬里鄉',
208:'金山鄉'
}
};
--
換行也是純粹排版用
--
What do you want to have ? / What do you have?
從書本中,你可以發現我的各種興趣。
從CD中,你可以瞭解我所喜歡的偶像明星。
或許從文字你很難以瞭解一個人,但從物品可以。
My PPolis , My past. http://ppolis.tw/user/Tony
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.137.67.56
1F:推 no1kk:感謝!!! 順帶一問object也可以用for(k in obj)這樣的語法嗎? 07/31 12:07
2F:推 no1kk:自問自答,可以....感謝你 !!!!!! 07/31 12:14
3F:→ no1kk:佔用的空間只有原本的一半不到 XD 07/31 12:15
4F:→ TonyQ:要size , 調整server 做 gzip傳輸是最省事的 , 07/31 13:16
5F:→ TonyQ:然後你輸出時再用 yui compressor 壓成compress 板 , 07/31 13:17
6F:→ TonyQ:不過還是gzip 最有實質效益就是了 XD 07/31 13:17
7F:推 appleboy46:推 gzip 08/03 16:06