Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从URL中删除最后两部分?_Javascript_Jquery - Fatal编程技术网

Javascript 如何从URL中删除最后两部分?

Javascript 如何从URL中删除最后两部分?,javascript,jquery,Javascript,Jquery,我有以下网址: 我想去掉最后两部分,这样会产生: 我试着这样做: var vars = "http://myshop.dev/member/message/inbox/detail/58c4fad6607a1d16f0006b3b"; var arrVars = vars.split("/"); var lastVar = arrVars.pop(); var restVar = arrVars.join("/"); console.log(restVar); 它仅成功删除最后一部分 我想再删

我有以下网址:

我想去掉最后两部分,这样会产生:

我试着这样做:

var vars = "http://myshop.dev/member/message/inbox/detail/58c4fad6607a1d16f0006b3b";
var arrVars = vars.split("/");
var lastVar = arrVars.pop();
var restVar = arrVars.join("/");
console.log(restVar);
它仅成功删除最后一部分

我想再删除一个部分

我该怎么做呢?

只要再弹出一次就可以了。:)

或者您可以使用拼接:

var vars = "http://myshop.dev/member/message/inbox/detail/58c4fad6607a1d16f0006b3b";
var arrVars = vars.split("/");
arrVars.splice(-1,2)
var restVar = arrVars.join("/");
console.log(restVar);
只要再弹一次就好了。:)

或者您可以使用拼接:

var vars = "http://myshop.dev/member/message/inbox/detail/58c4fad6607a1d16f0006b3b";
var arrVars = vars.split("/");
arrVars.splice(-1,2)
var restVar = arrVars.join("/");
console.log(restVar);

为什么不直接使用substring函数:

if (vars.toLowerCase().indexOf("/detail/")!=-1)
    restVar = vars.substring(0,vars.toLowerCase().indexOf("/detail/"))

我认为它可以让你更好地控制你正在做的事情。

为什么不简单地使用substring函数:

if (vars.toLowerCase().indexOf("/detail/")!=-1)
    restVar = vars.substring(0,vars.toLowerCase().indexOf("/detail/"))

我认为它能让你更好地控制你在做什么。

你可以弹出两次,但还有其他解决方案

例如,使用2减小数组的长度具有相同的效果:

arrVars.length -= 2;
var变量=”http://myshop.dev/member/message/inbox/detail/58c4fad6607a1d16f0006b3b";
var arrVars=变量拆分(“/”);
arrVars.length-=2;
var restVar=arrVars.join(“/”);

console.log(restVar)
您可以
弹出两次
,但还有其他解决方案

例如,使用2减小数组的长度具有相同的效果:

arrVars.length -= 2;
var变量=”http://myshop.dev/member/message/inbox/detail/58c4fad6607a1d16f0006b3b";
var arrVars=变量拆分(“/”);
arrVars.length-=2;
var restVar=arrVars.join(“/”);

console.log(restVar)
您可以像这样使用
splice()
slice()
而不是调用
pop()
两次:

拼接()-

切片()-


您可以像这样使用
splice()
slice()
而不是调用
pop()
两次:

拼接()-

切片()-


你只需要在加入之前再次弹出它。可能重复@AndrewLi所说的,只需再次弹出它。可能重复@AndrewLi所说的,只需再次弹出它。这是使用
splice
的错误方法,它本身已经变异了
arrVars
。使用
slice
,或者使用
splice
而不捕获返回值,但随后使用不同的参数值。这是使用
splice
的错误方法,它本身已经变异了
arrVars
。可以使用
slice
,也可以使用
splice
而不捕获返回值,当然可以使用不同的参数值。