簡體   English   中英

從路徑中刪除最后一個文件夾

[英]remove the last folder from a path

var loc = window.location.pathname;
var dir = loc.substring(0, loc.lastIndexOf('/'));

loc返回為:

/public/html/signup/

dir返回為:

/public/html/signup

我也想刪除文件夾的名稱,所以我回來了:

/public/html/

我究竟做錯了什么? 謝謝!

干得好。 這是一種通用解決方案,因此您可以剝離任意數量的文件夾-只需傳遞1以外的內容即可。

var path = window.location.pathname.split("/");
var strippedPath = path.slice(0, path.length-1).join("/");

我知道只有一種JavaScript本機方法可以刪除數組元素並返回此已修改列表的深層副本。 我可以提一下reduce但這不在這里討論。

const new_path = path.split('/').filter((basename, index, array) => index !== array.length - (basename === '' ? 2 : 1)).join('/');

過濾器很酷,因為它可以幫助我們對回調中的空基名進行排序,這相當於本例中路徑中的隨即斜杠。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM