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
而不捕获返回值,当然可以使用不同的参数值。