通过将URL拆分为数组,获取域名后的部分URL

Mik*_*ind 13 javascript arrays jquery

我已经制作了这段代码:

var newURL = $(".list-portfolio a").attr("href"),
    pathArray = newURL.split( '/' ),
    secondLevelLocation = pathArray[0];
console.log(pathArray);

    var pathArray = pathArray[3, 4];
Run Code Online (Sandbox Code Playgroud)

pathArray值是 ["http:", "", "www.mikevierwind.nl", "portfolio", "ruimzicht.html"]

我怎样才能得到这个数组的最后两项.我希望结果是portfolio/ruimzicht.html.

nin*_*cko 41

你不需要任何这些,你只需要window.location.pathname:

> window.location.pathname
"/questions/11898626/get-items-of-the-array/11898963"
Run Code Online (Sandbox Code Playgroud)

这将让你在未来有像"portfolio/2012/ruimzicht.html"这样的目录,并改变域名来说"www.mikevierwind.???" 不改变你的代码.


如果您目前不在域中(并且无法执行上述操作),您可以使用单行方式执行此操作:

> pathArray.slice(-2).join('/')
"portfolio/ruimzicht.html"
Run Code Online (Sandbox Code Playgroud)

但这不像以上那样具有前瞻性.为了使其面向未来,您可以:

> url.split(document.domain)[1].slice(1)
"portfolio/2012/ruimzicht.html"
Run Code Online (Sandbox Code Playgroud)

当您当前不在域上时,通常会在外部URL上执行此操作,因此无法执行此操作window.location.pathname.