前端城市地址根据最后一级倒推,获取各层级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;
};
相关推荐
sghuter6 分钟前
Chrome如何重塑Web标准未来
前端·chrome
渣渣xiong15 分钟前
从零开始:前端转型AI agent直到就业第十四天-第十七天
前端·人工智能
changshuaihua00117 分钟前
React 入门
前端·javascript·react.js
兰为鹏27 分钟前
做前端需求总结出的非常好用的skill
前端
笨笨狗吞噬者32 分钟前
Opus 4.7 skill 编写和使用实践
前端·ai编程
舞影天上1 小时前
WordPress MCP Adapter 调试实战:从"连接失败"到完全可用
前端·ai编程
可视之道1 小时前
Web组态编辑器的撤销重做架构设计
前端
掘金安东尼1 小时前
本周前端与 AI 技术情报|前端下一步 #462
前端·javascript·面试
赵庆明老师1 小时前
vben开发入门5:vite.config.ts
前端·html·vue3·vben
qq_12084093711 小时前
Three.js 工程向:实例化渲染 InstancedMesh 的批量优化
前端·javascript