iT邦幫忙

1

陣列裡面的地址只想要擷取區 應該怎麼做?

var zonelist = ["高雄市苓雅區凱旋二路103巷40號","
高雄市岡山區維仁路30巷6號","高雄市鹽埕區大勇路98號"] 只想要裡面的苓雅區 或是岡山區 請問應該怎麼做處理?

var b = zonelist.join(',');

var c = b.forEach(el => {
    el.slice(3, 6);
  
})

我的想法? 事先把他們變成字串、對字串用slice 切除,但是到這裡就不行了
@@

看更多先前的討論...收起先前的討論...
ke11vin30 iT邦新手 5 級 ‧ 2020-03-27 11:05:43 檢舉
如果用正則呢試試看呢
ccutmis iT邦高手 8 級 ‧ 2020-03-27 11:09:09 檢舉
console.log(/市.*區/g.exec("高雄市苓雅區凱旋二路103巷40號")[0].replace('市','')); //印出 苓雅區
ke11vin30 iT邦新手 5 級 ‧ 2020-03-27 11:11:23 檢舉
var zonelist = ["高雄市苓雅區凱旋二路103巷40號","高雄市岡山區維仁路30巷6號","高雄市鹽埕區大勇路98號"];

$.each(zonelist,function (e) {
console.log(zonelist[e].slice(3,6));
});
slime iT邦大師 1 級 ‧ 2020-03-27 11:59:23 檢舉
參考:
https://ithelp.ithome.com.tw/questions/10194226
ShawnL iT邦新手 5 級 ‧ 2020-03-27 13:26:04 檢舉
看需求而定,你想要的應該不會只有區,而是所有縣市階層下一階層關係的內容?
可以考慮找一個鄉鎮市字典檔下去拆,比較有彈性,網路上有開源的,而問題會面向資料來源的正確性;如果是公司 repo ,有其他特定需求的話可以請 PM 開給你規格。
yolala iT邦新手 5 級 ‧ 2020-03-27 20:24:51 檢舉
你是說直接找台灣地區的json 檔案還比較正確的意思?

2 個回答

4
listennn08
iT邦高手 9 級 ‧ 2020-03-27 11:05:11

去看 forEach 的 document
forEach 不是給字串用的
也不是你那樣用的

var zonelist = ["高雄市苓雅區凱旋二路103巷40號","高雄市岡山區維仁路30巷6號","高雄市鹽埕區大勇路98號"]
var b=[];
zonelist.forEach(el => {
    b.push(el.slice(3, 6))
})
// b = ["苓雅區", "岡山區", "鹽埕區"]

// 或是這樣
var c = zonelist.map(el => el.slice(3, 6))
// c = ["苓雅區", "岡山區", "鹽埕區"]

你這樣取 4 個字的區不就取不到
就像其他人說的 用正則
就變這樣

var c = zonelist.map(el => el.match(/市(.*區)/)[1])
// c = ["苓雅區", "岡山區", "鹽埕區"]
dragonH iT邦超人 5 級 ‧ 2020-03-27 11:11:38 檢舉

用 map 就不用 push 了

yolala iT邦新手 5 級 ‧ 2020-03-27 11:16:34 檢舉

了解 我會好好努力再了解@@

/images/emoticon/emoticon12.gif

0
japhenchen
iT邦高手 1 級 ‧ 2020-03-27 13:08:35

以這個做例子
https://www.tsmc.com/chinese/contact_us.htm#TSMC_fabs
新竹科學園區力行六路8號
這是什麼市什麼區?

dragonH iT邦超人 5 級 ‧ 2020-03-27 14:42:29 檢舉

300新竹市東區力行六路8號

這個是 google 到的

會不會是他們偷懶XD

不過那樣的切法本來就有問題就是

我要發表回答

立即登入回答