前端城市地址根据最后一级倒推,获取各层级id的方法

前端城市地址根据最后一级倒推,获取各层级id的方法

这个需要是后端返回最后一级地址的id,前端要去获取上级或上上级的id,实现数据返显。这里写了一个通用的方法,后面在任何地方直接调用即可。

复制代码
/**
 * 根据最终区域code,获取省市区区域code路径数组
 * regionDatas 地址数组
 * @param finalCode 区域code,例如 "110101" 表示北京市朝阳区东城区
 * @returns string[] 省市区区域code路径数组,例如 ["110000", "110100", "110101"] 表示北京市朝阳区东城区
 */
export const getRegionArrByFinalCode = (finalCode: string | number, regionDatas: any[]) => {
  if (!Array.isArray(regionDatas) || !regionDatas.length) return [];
  let result: string[] = [];
  const dfs = (data: any[], path: string[] = []) => {
    for (const item of data) {
      if (!item) continue;
      const currentPath = [...path, item.region];
      if (item.region == finalCode) {
        result = currentPath;
        return true;
      }
      if (item.children && dfs(item.children, currentPath)) return true;
    }
    return false;
  };
  dfs(regionDatas);
  return result;
};
相关推荐
谭光志4 小时前
Vibe Coding 时代,程序员该何去何从
前端·后端·ai编程
仿生狮子6 小时前
别再说“全栈”了,AI 时代团队只认这 5 种人
前端·人工智能·后端
kyriewen6 小时前
AI 写的 React 组件,合并前必查的 6 个坏味道——每个都有代码对比
前端·javascript·react.js
Highcharts.js6 小时前
软件开发公司为什么选择 Highcharts?
前端·前端框架·echarts·数据可视化·技术选型·highcharts·图表工具
阿祖zu7 小时前
企业 AI 转型之痛,个人提效十倍不止,组织效率仍止步不前?
前端·aigc·agent
摇滚侠8 小时前
SpringBoot3+Vue3 全套视频教程 45-51
前端·javascript·vue.js
酸梅果茶9 小时前
【6】lightning_lm项目-LIO 前端 -点云预处理模块
前端·slam
Hilaku9 小时前
前端大裁员背后的恐慌:我们还剩什么底牌?
前端·javascript·程序员
咖啡无伴侣9 小时前
unplugin-auto-import 使用详解+面试高频考点
前端·架构
搬砖记录员9 小时前
录屏文件打不开?H.265兼容性踩坑与4种实战方案
前端