

求大佬们优化一下代码,屎山代码给孩子头皮想破了
source link: https://www.v2ex.com/t/784284
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

需求是这样的:
万恶后端传过来的数据:
"data":[{"province":"上海市","city":"上海市市辖区","adcode":"310118","district":"青浦区"},
{"province":"江苏","city":"苏州市","adcode":"320506","district":"吴中区"},
{"province":"山西省","city":"阳泉市","adcode":"140302","district":"城区"},
{"province":"上海市","city":"上海市市辖区","adcode":"310101","district":"黄浦区"},
{"province":"河北省","city":"石家庄市","adcode":"130123","district":"正定县"}]
需要整合成这样 elementUi 中级联选择器中的数据:
(只要有相同的就要去重并在之前的 children 下加入重复的 children )
addressOptions: [
{
value: "zhinan",
label: "指南",
children: [
{
value: "shejiyuanze",
label: "设计原则",
children: [
{
value: "yizhi",
label: "一致",
},
{
value: "fankui",
label: "反馈",
},
{
value: "xiaolv",
label: "效率",
},
{
value: "kekong",
label: "可控",
},
],
},
{
value: "daohang",
label: "导航",
children: [
{
value: "cexiangdaohang",
label: "侧向导航",
},
{
value: "dingbudaohang",
label: "顶部导航",
},
],
},
],
},
],
我的垃圾代码:
dealWithAddressList(arr, name) {
var city = {};
return arr.reduce(function (item, ele) {
console.log(ele[name]);
if (city[ele[name]]) {
item.forEach((eles) => {
if (eles.label == ele[name]) {
eles.children.forEach((eless) => {
if (eless.value == ele.city) {
eless.children.push({
value: ele.adcode,
label: ele.district,
});
} else {
eles.children.push({
value: ele.city,
label: ele.city,
children: [
{
value: ele.adcode,
label: ele.district,
},
],
});
}
});
}
});
console.log(city[ele[name]]);
} else {
city[ele[name]] =
true &&
item.push({
value: ele.province,
label: ele.province,
children: [
{
value: ele.city,
label: ele.city,
children: [
{
value: ele.adcode,
label: ele.district,
},
],
},
],
});
}
console.log(item);
return item;
}, []);
},
求大佬优化一下,可以的话有红包奉上
Recommend
-
39
计算机 - @gc528262067 - 我的电脑是大学的是买的,现在装了个 win10,只要开点儿应用风扇就呼呼的转,内存占用也很高。大家来推荐个好用的电脑系统啊 /。平时主要做 py 和 php 开发还有微信小程序。这是我的电脑配置。
-
12
V2EX › 程序员 求大佬们给一个加密存储的思路 Baymaxyu · 2 小时 20 分钟前 via...
-
7
求大佬们推荐个白群晖购买渠道 - V2EX V2EX › 程序员 求大佬们推荐个白群晖购买渠道
-
5
作者:小傅哥博客:https://bugstack.cn原文:https:/...
-
9
V2EX › 职场话题 大佬们我到了人生的三岔口 X< 求大佬们提建议
-
3
V2EX › 问与答 求大佬们推荐一款摄像头 ghmum · 3...
-
6
V2EX › iPad 最近老婆要买 iPad ,求大佬们推荐配置
-
4
V2EX › 求职 [北京] 3 年 Java 求个坑,顺便求大佬们给看看这履历适合在北京投么
-
6
V2EX › 问与答 求大佬们推荐适合 AI 画图、制作视频的 PC 配置
-
8
V2EX › 摄影 新手想买相机,预算 5k,求大佬们推荐
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK