2012-08-10 32 views
-7

我有這樣的循環:警報數組的索引和值

for(k=0;k<colNames.length;k++){ 
    alert(colNames[k]); 
} 

現在,它只是提醒數組中的值的用戶。我如何提醒他們索引和數組中每個元素的值?

+0

這裏是一個很好的介紹給JavaScript:https://developer.mozilla.org/en/JavaScript/Guide – 2012-08-10 14:53:23

+2

[瞭解JS#1](HTTP:// stackoverflow.com/tags/javascript/info),[一些有用的視頻](http://chat.stackoverflow.com/rooms/17/conversation/learn-javascript-videos),[更多信息可以在這裏獲得]( http://javascript.info/)。那裏,研究材料。現在你可以'快速跟蹤'你的學習。 *回到地牢玩龍* – rlemon 2012-08-10 15:05:25

回答

6

是否這樣?

for(k=0;k<colNames.length;k++){ 
    alert("Index: " + k + " value: " + colNames[k]); 
} 
+1

它對我來說顯示2秒的差異。 ':P'+1 – 2012-08-10 14:39:47

+0

我還是比較喜歡價值前的指數,但這只是我的「組織性」。 – 2012-08-10 14:42:11

+0

@FabrícioMattéyup,沒想到,編輯:) – NicoSantangelo 2012-08-10 14:44:51

2

你可以做到這一點

for(k=0;k<colNames.length;k++){ 
    alert("Index: " + k + " Value: " + colNames[k]); 
} 

還可以使用console.log("Index: " + k + " Value: " + colNames[k]);

它更討人喜歡

0

你不會這麼做,因爲這很煩人幾十彈出窗口,以垃圾郵件的用戶,他們無法關閉。你會批像這樣,並輸出到DOM(或者如果是爲了自己,用console.log):

alert(JSON.stringify(colNames.map(function(x,i){return [i,x]}))) 

如果你想使用類似的console.log並輸出到多條線路,你會怎麼做這一點,比for循環清潔得多:

colNames.forEach(function(x,i){ 
    console.log(i,x); 
}) 
+0

請記住,'forEach'這不是完全跨瀏覽器 – NicoSantangelo 2012-08-10 14:47:26

+0

@Nicosunshine:這是不正確的,它是完全跨瀏覽器http:// kangax .github.com/es5-compat-table/ – ninjagecko 2012-08-10 15:13:35

+0

呵呵我的意思是它不能在IE7或IE8中工作,我的壞 – NicoSantangelo 2012-08-10 15:15:51