You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解析字符串格式的文件路径,输出对应层级路径对象数组?

实现思路

核心逻辑是路径分割+逐层拼接,常用编程语言都可以按照这个思路实现,以下用JavaScript作为示例:

  • 首先处理输入容错,默认输入为标准绝对路径,以/开头
  • 初始化结果数组,首项固定为根目录对象
  • 对输入路径按/做分割,过滤掉分割后产生的空字符串片段
  • 遍历分割得到的路径片段,逐层拼接完整路径,生成对应对象存入结果数组即可

代码实现

function parsePath(pathStr) {
  // 非绝对路径可根据自己的业务需求调整容错逻辑
  if (!pathStr || !pathStr.startsWith('/')) return []
  
  const res = [{ name: '/', path: '/' }]
  const segments = pathStr.split('/').filter(seg => seg !== '')
  let currentPath = ''

  for (const seg of segments) {
    currentPath += `/${seg}`
    res.push({
      name: seg,
      path: currentPath
    })
  }
  return res
}

// 测试用例
console.log(parsePath('/home/ubuntu'))
/* 输出结果:
[
  {"name":"/","path":"/"},
  {"name":"home","path":"/home"},
  {"name":"ubuntu","path":"/home/ubuntu"}
]
*/

补充说明

如果输入路径末尾携带/(比如/home/ubuntu/),分割过滤后不会产生多余空片段,逻辑依然适用。如果需要支持相对路径,只需要调整初始化时的根目录配置即可。

内容的提问来源于stack exchange,提问作者Jax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 15:36:04