Javascript 通过第三个实例拆分字符串?

Javascript 通过第三个实例拆分字符串?,javascript,Javascript,我有这个: var url = "http://www.example.com/level1/level2" 我想按字符/将URL分为3个级别。我试过: var array = url.split('/'); 但结果是: ['http:','','www.example.com','level1','level2'] ['http://www.example.com','','level1','level2'] 我想这样: ['http://www.example.com','level

我有这个:

var url = "http://www.example.com/level1/level2"
我想按字符
/
将URL分为3个级别。我试过:

var array = url.split('/');
但结果是:

['http:','','www.example.com','level1','level2']
['http://www.example.com','','level1','level2']
我想这样:

['http://www.example.com','level1','level2']

我尝试了
url.split('/')[2]
,但没有成功。

为什么不正确解析它

var url = "http://www.example.com/level1/level2"

var a = document.createElement('a');

a.href = url;

a.protocol; // http:
a.host;     // www.example.com
a.pathname; // /level1/level2

var parts = a.pathname.split('/').filter(Boolean);
parts.unshift(a.protocol + '//' + a.host); // ['http://www.example.com','level1','level2'];
@阿迪内奥 非常感谢你!您的答案非常简单明了(我不知道解析URL的方法),但您的答案中有一个小错误。。。(真小:))

您的输出是:

['http:','','www.example.com','level1','level2']
['http://www.example.com','','level1','level2']
因此,要获得我的输出(3个级别):

使用
parts.shift()unshift()
之前添加code>,这样输出为真:

['http://www.example.com','level1','level2']
如果允许我纠正你,请原谅:)

如果我错了,请告诉我:)
再次感谢

您不想在第三个实例上拆分,而是用JavaScript解析URL。我建议您查看一下,但没有注意到,这是因为URL是
/level1/level2
,因此在
/
上拆分时,第一个
/
前面的部分有一个条目,该条目为空。另一种解决方法是修剪
/
路径名开始和结束处的
/
,或者将其过滤掉,我将其添加到答案中