V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  LinHoo  ›  全部回复第 1 页 / 共 1 页
回复总数  1
2021-06-19 19:17:41 +08:00
回复了 happyCodings 创建的主题 Vue.js 求大佬们优化一下代码,屎山代码给孩子头皮想破了
const convert = data => {
const options = []
const proviceMap = {}
data.forEach(item => {
// 没有省
if (!proviceMap[item.province]) {
proviceMap[item.province] = {
index: options.length,
citys: [item.city]
}
options.push({
value: item.province,
label: item.province,
children: [
{
value: item.city,
label: item.city,
children: [
{
value: item.adcode,
label: item.district,
}
]
}
]
})
return
}

const provinceIndex = proviceMap[item.province].index
const cityIndex = proviceMap[item.province].citys.indexOf(item.city)
// 没有市
if (cityIndex === -1) {
options[provinceIndex].children.push({
value: item.city,
label: item.city,
children: [
{
value: item.adcode,
label: item.district,
}
]
})
return
}
// 有省有市
options[provinceIndex].children[cityIndex].children.push({
value: item.adcode,
label: item.district,
})
})
}
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2608 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 11:41 · PVG 19:41 · LAX 03:41 · JFK 06:41
Developed with CodeLauncher
♥ Do have faith in what you're doing.