2014-12-01 72 views
0

有沒有更好的方法來使用鏈接來執行此操作?從鏈接中刪除元素的更好方法

var url = "www.mycompany.com/sites/demo/t1" 
var x = url.split('/'); 
console.log(x); 
var y = x.pop(); 
console.log(y,x); 
var z = x.join("/"); 
console.log(z); 

我想是這樣,但由於流行只是返回的最後一個值,而不是剩下的就不用工作:

parentUrl = self.attr('Url').split("/").pop().join("/"); 
+2

這個問題似乎是題外話,因爲它是屬於在[代碼審查(HTTP庫:/ /codereview.stackexchange.com) – Mathletics 2014-12-01 21:00:02

+2

鏈接鏈接:)'url.split('/')。filter(function(_,i,arr){return i 2014-12-01 21:07:43

回答

3

你當然可以用正則表達式替換做到這一點:

var url = "www.mycompany.com/sites/demo/t1"; 
 

 
var z = url.replace(/\/[^\/]+$/, ''); 
 

 
console.log(z);

3

This Regex s HOULD做的伎倆:

var url = "www.mycompany.com/sites/demo/t1" 
 
console.log(url.match(/^(.+)\/(.+)/));

0

我解決它使用lodash。 _.initial()完全符合我的要求。

var url = "www.mycompany.com/sites/demo/t1"; 
var x = _.initial(url.split("/")).join('/'); 
console.log(x); 

正則表達式解決方案也起作用。但是,我不知道如何閱讀正則表達式,所以我不習慣使用我並不真正理解的東西。但他們的工作非常感謝。

編輯:我的項目已經有lodash庫,所以我不添加只爲這:)