Javascript 获取域名后的部分 URL //... 通过将 URL 拆分为数组
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 
原文地址: http://stackoverflow.com/questions/11898626/
Warning: these are provided under cc-by-sa 4.0 license.  You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Get parts of URL after domain name //... by splitting URL into array
提问by Mike Vierwind
I have make this code:
我已经制作了这个代码:
var newURL = $(".list-portfolio a").attr("href"),
    pathArray = newURL.split( '/' ),
    secondLevelLocation = pathArray[0];
console.log(pathArray);
    var pathArray = pathArray[3, 4];
The pathArray value is ["http:", "", "www.mikevierwind.nl", "portfolio", "ruimzicht.html"]
pathArray 值是 ["http:", "", "www.mikevierwind.nl", "portfolio", "ruimzicht.html"]
How can i get the last 2 items of this array. I want that the results is portfolio/ruimzicht.html.
我怎样才能得到这个数组的最后 2 个项目。我希望结果是portfolio/ruimzicht.html。
回答by ninjagecko
You don't need any of this, you just want window.location.pathname:
你不需要任何这些,你只需要window.location.pathname:
> window.location.pathname
"/questions/11898626/get-items-of-the-array/11898963"
This will let you in the future have directories like "portfolio/2012/ruimzicht.html", and change domains to say "www.mikevierwind.???" without changing your code.
这将使您将来拥有“portfolio/2012/ruimzicht.html”之类的目录,并将域更改为“www.mikevierwind.???” 无需更改您的代码。
If you are not currently on the domain (and can't do the above), you can do it your way with a one-liner:
如果您当前不在域中(并且无法执行上述操作),则可以使用单行程序按自己的方式进行操作:
> pathArray.slice(-2).join('/')
"portfolio/ruimzicht.html"
But this is not future-proof like the above. To make it future-proof, you can do:
但这不是像上面那样面向未来。为了使其面向未来,您可以执行以下操作:
> url.split(document.domain)[1].slice(1)
"portfolio/2012/ruimzicht.html"
One would do this generally on foreign URLs when you are not currently on the domain and thus can't do window.location.pathname.
当您当前不在域中时,通常会在外国 URL 上执行此操作,因此无法执行window.location.pathname.
回答by jmventar
You could use array length if you don't have a fixed size or number of elements.
如果您没有固定的大小或元素数量,则可以使用数组长度。
var path = array[array.length-2]+'/'+array[array.length-1];
If you just want the path use plain JS or jQuery as they suggest you in comments.
如果您只想要路径使用纯 JS 或 jQuery,因为他们在评论中建议您。
//Plain JS
var path = window.location.pathname;
//jQuery
$(location).attr('pathname'); 
回答by Nick
Or May be something like this
或者可能是这样的
var newURL = $(".list-portfolio a").attr("href"),
pathArray = newURL.split( '/' ),
secondLevelLocation = pathArray.shift();
var pathArray = pathArray.join('/');
回答by yogi
You could try this
你可以试试这个
var newURL = $(".list-portfolio a").attr("href"),
    pathArray = newURL.split( '/' ),
    secondLevelLocation = pathArray[0];
console.log(pathArray);
var pathArray = pathArray[3] +'/'+ pathArray[4];
回答by robby dwi hartanto
try this
尝试这个
console.log(new URL(document.URL));
you would get object of URL
你会得到 URL 的对象

