Vantui地址详情页面默认地址反推地址代码程序

(仅限bookshop项目)

if (type == "edit") {

                getAddressDetail(addressId).then((res) => {

                    const addressdetail = res;

                    let _areaCode = "";

                    let arrData = [];

                    let provinceData = [];

                    //倒推地址码算法

                    //便利全国县区

                    Object.entries(areaList.county_list).forEach(

                        ([id, text]) => {

                            //提取出全国名称与所选值相同的县区的地区key,并存储在arrData数组

                            if (addressdetail.county == text) {

                                arrData.push(id);

                            }

                        }

                    );

                    //遍历全国省

                    Object.entries(areaList.province_list).forEach(

                        ([provinceId, provinceText]) => {

                            //提取全国省与所选省名称相同的省的key

                            if (provinceText == addressdetail.province) {

                                arrData.forEach((value, key) => {

                                    //将其key与之前存储的两个区县key前两位进行比对,并提取数值一致的key

                                    if (

                                        value.substr(0, 2) ==

                                        provinceId.substr(0, 2)

                                    ) {

                                        provinceData.push(value);

                                    }

                                });

                            }

                        }

                    );

                    Object.entries(areaList.city_list).forEach(

                        ([cityId, cityText]) => {

                            //提取全国城市与所选城市名称相同的城市的key

                            if (cityText == addressdetail.city) {

                                provinceData.forEach((value, key) => {

                                    //将其key与之前存储的province的key前四位进行比对,并将比对过后校验准确的value赋给_areaCode

                                    if (

                                        value.substr(0, 4) ==

                                        cityId.substr(0, 4)

                                    ) {

                                        _areaCode = value;

                                    }

                                });

                            }

                        }

                    );

               

                    //获取地址详情

                    state.addressInfo = {

                        name: addressdetail.name,

                        tel: addressdetail.phone,

                        province: addressdetail.province,

                        city: addressdetail.city,

                        county: addressdetail.county,

                        areaCode: _areaCode,

                        addressDetail: addressdetail.address,

                        isDefault: !!addressdetail.is_default,

                    };

                });

            }

代码比较臃肿还望谅解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LMMMMH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值