2017-08-10 117 views
-3

我想調用each()對我調用的另一個函數的結果數組。爲什麼我不能在函數結果上使用調用函數?

爲什麼我不能做:

callMethodThatReturnsAnArray().each(function() { 
    ... 
}); 

我得到一個callMethodThatReturnsAnArray(...).each is not a function錯誤。

+0

請顯示'callMethodThatReturnsAnArray()'的實現。 –

+0

因爲如果它是一個js元素數組,方法是'forEach' – quirimmo

+0

他可能正在使用jQuery,我相信它有'.each()'方法。 –

回答

4

each()是jQuery的DOM元素 - 你到底在做什麼?對於簡單的Javascript,你會想要使用forEach()map()

+1

不僅僅是dom元素本身;) –

+0

事實上,jQuery對象*很少能夠持有其他東西。而且jQuery在「每個」上都沒有壟斷權。儘管如此,與賠率... –

+0

@ T.J.Crowder由於jQuery數組不僅僅是榮耀陣列,jQuery的大部分內容都計入選擇器結果中,其行爲與數組完全相同。反之亦然,許多jQuery函數可用於處理任何東西的普通數組。 –

0

數組有forEach方法不是每個。使用

callMethodThatReturnsAnArray().forEach(function(entry) { 
// ...do whatever you want to do 

});

如果你要使用的每個,jQuery有方法

jQuery.each(array, callback) 

所以您可以編寫代碼類似。

$.each(callMethodThatReturnsAnArray(), function(index, value){// do whatever you want to do.}); 
相關問題