2017-03-03 67 views
-3

行,所以這是我的陣列...在javascript中遍歷數組?

var cars = new Array("Golf", "Audi", "Merc", "Mini"); 

我想簡單地遍歷它......簡單吧? errrr。 我已經試過......

for (var i=0; i < cars.lenght(); i++) { 
      document.write(cars[i]+ "<br />"); 
     } 

以及...

for (i=0; i < cars.lenght(); i++) { 
      document.write(cars[i]+ "<br />"); 
     } 

,甚至...

int i = 0; 
for (i=0; i < cars.lenght(); i++) { 
      document.write(cars[i]+ "<br />"); 
     } 

而且我想補充一點,我還試圖「我< cars.lenght;「(省略函數調用的空括號 )。 這些都不起作用。我知道這是非常基本的,所以...誰能告訴我什麼 我做錯了?

+1

cars.lenght()應該是'cars.length' –

+1

對此問題予以不能再複製或一個問題引起的一個簡單的印刷錯誤。雖然類似的問題可能在這裏討論,但這個問題的解決方式不太可能有助於未來的讀者。這通常可以通過識別並密切檢查在發佈之前重現問題所需的最短程序來避免。1 –

+0

'length'是Array的一個屬性,而不是方法,所以使用'length' – cyrix

回答

1

您可以使用Array#length

cars.length 

用於獲取長度值(請觀看t,它不需要括號,因爲它代表一個值,而不是方法)。

1

你有一個錯字 - .lenght應該.length :)你也可以嘗試這種格式

cars.forEach(function(car) { 
     //output each car 
     document.write(car+ "<br />"); 
    }) 

希望這有助於

迪倫

+1

document.write(car +「
」); –

+0

感謝您的快速回答傢伙。洞悉長度是一種屬性和另一種迭代技術。 – HiSulu

+0

我要寫出長達一百次...... arrrrrrrrrrrrrrrrrrrrrrgh !! – HiSulu

0

length不是function。它是一個property持有陣列

var cars = new Array("Golf", "Audi", "Merc", "Mini"); 
 
for (var i=0; i < cars.length; i++) { 
 
     document.write(cars[i]+ "<br />"); 
 
}

另外我建議的長度您使用

var cars = new Array("Golf", "Audi", "Merc", "Mini"); 
 
cars.map(function(x){document.write(x+"<br />")});

mapfunction,對於這樣的迭代你
傳遞一個callback function,其中包含您想要對每個項目執行的操作。

簡寫也有用於function

var cars = new Array("Golf", "Audi", "Merc", "Mini"); 
 
cars.map(x => document.write(x+"<br />"));

+0

你真的應該看看['.map()']的用途(https:// developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)方法。這並不意味着只是遍歷數組... – Andreas

+0

如果他需要一個具有突變變化的新陣列,這將是一個很好的解決方案 –