2013-03-20 59 views
-4

我的代碼出現了什麼問題,如下所示。它不適用於IE 8或更低版本。 如何使用普通的for循環代替forEach來更改它?plain for loop代替forEach在JavaScript中

var mainItems = []; 
[100305, 1003403, 1003511, 1003360, 1002328].forEach(function(id) { 
//mainItems.forEach(function(id) { 
    mainItems.push(items.filter(function(elem) { 
     return elem.id == id; 
    })[0]) 
}) 
+0

加油。嘗試搜索至少一點點 http://stackoverflow.com/questions/52080/how-do-i-build-a-loop-in-javascript – awbergs 2013-03-20 16:44:46

+0

你看過任何基本的文檔,儘可能在JavaScript中爲''循環做什麼?這是你問的一個非常基本的問題。 – 2013-03-20 16:45:05

+0

嘿男人,你們sooooo聰明?我問這是因爲我不知道。 – user1942626 2013-03-22 12:04:54

回答

0

Array.forEach是ES5規範,在舊的瀏覽器,其is not supported的一部分。如果你打算使用ES5代碼,你應該看看包括a shim,它增加了對不支持的瀏覽器的支持。

至於如何編寫for循環,the documentation可以幫助你。

1

你可以使用簡單地作爲

var mainItems = []; 

var items = [100305, 1003403, 1003511, 1003360, 1002328]; 


for(var i=0;i<items.length;i++) 
    mainItems.push(items[i]);