2016-03-20 58 views
0

能否請您看看這個演示,讓我知道我可以打印輸出3 URL地址一樣如何在陣列上使用。每()

www.example/app 
www.example/map 
www.example/tap 

var comp = ["app", "map", "tap"]; 
 

 
$(comp).each(function() { 
 
    var url = 'www.example/' + comp; 
 
    console.log(url); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>

回答

4

您不使用$().each,您可以在數組上使用$.each。或者,自2009年以來更新了任何JavaScript引擎,您可以使用該陣列自己的forEach

使用$.each

$.each(comp, function(index, entry) { 
    var url = 'www.example/' + entry; 
    console.log(url); 
}); 

注意,條目是的說法,不是第一次。 (這也是this。)

使用forEachspec | MDN):

comp.forEach(function(entry) { 
    var url = 'www.example/' + entry; 
    console.log(url); 
}); 

注意該條目是第一個參數。 (您也可以使用第二個和第三個參數:第二個是索引,第三個是索引,第三個是數組本身。)

This answer有一個全面的列表,您可以循環訪問數組和內容類似的東西。

3

你可以簡單地使用Array.prototype.forEach

comp.forEach(function(url) { 
    console.log('www.example/' + url); 
}); 

沒有必要使用jQuery $.each()在此上下文中。順便說一句,您使用$().each,這是不同的,可用於遍歷Jquery元素集合而不是array

+0

您可能想要更改參數的名稱,或刪除'var'。它恰好會按原樣工作,因爲'var'將是一個無操作,但是... –

+0

@TJ無論如何,它會騎在它的權利?我在控制檯上做了一個小測試。 '功能測試(url){ var url =「helo」+ url; console.log(url) } test(「test」);' –

+0

對,這就是爲什麼我說它適用於這種特殊情況,'var'基本上被忽略了。 –