【面试题】js相对路径转绝对路径

今天面试遇到一个问题,不知道该怎么做,求教大佬

有相对路径 /A/B/../C/D/../E

使用js获取绝对路径 答案应该是 /A/C/E

不知道怎么用js计算出来

var str = "/A/B/../C/D/../E"
var str_arr = str.split("/")
for (var i = 0; i < str_arr.length; i++) {
    if(str_arr[i] == '..'){
        str_arr.splice(i-1,2)
    }
}
var str2 = str_arr.join('/')
console.log(str2)
阅读 3.1k
2 个回答

是考算法吗?不是的话,直接用Node.js的API即可。

实现的话,先以/分割成数组,然后遍历做栈入栈出即可。

vue-cli在build文件使用webpack就有配置路径。@

配置:
clipboard.png
使用:

clipboard.png

上面说明,可使用webpack配置路径。其他也可以使用nodejs的path里有__dirname,自己弄个全局的变量,引用即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题