2013-03-04 141 views
1

我仍然需要幫助,並編輯了jsfiddle帖子來顯示我的問題。 http://jsfiddle.net/7ztEf/6/Javascript數組+索引

我想將數字返回給關聯索引值[0] = 0 [1] = 1,因爲您可以看到索引字符串返回所有數字。再次感謝保羅

我有一個數字生成器腳本,返回值的DIV ID的。我需要掛接到這個不知何故,使取代基於數值即> 1 && <= 20 = red

function myNumbers(numbers, type) { 
    for (var x in numbers) { 
     document.getElementById(type + x).innerHTML = numbers[x]; 
    } 
} 

這個腳本填充每個命名num0 ... num3用隨機數的DIV的顏色。

我設法查詢numbers[x]的第一個值,但需要設置一個索引順序來循環其餘的東西。

+0

是什麼號碼?它是一個數組或對象 – 2013-03-04 03:40:37

+0

你的代碼似乎很好,你可以檢查這個演示,並告訴什麼是所需的o/p http://jsfiddle.net/arunpjohny/7ztEf/ – 2013-03-04 03:42:37

+0

你不應該使用'for..in'數組,它將迭代所有可枚舉的屬性(包括繼承屬性),而不僅僅是數字索引。此外,順序不保證(但這可能不是一個問題)。對於舊版瀏覽器,使用普通的'for'循環來增加索引,或者使用'forEach'和shim。 – RobG 2013-03-04 04:02:11

回答

0

使用Array.forEach

numbers.forEach(function (number, index) {...}) 
0

不要對陣列使用for..in。它們用於對象,因此在數組上使用for..in將返回諸如length元素之類的東西。

要麼使用的forEach作爲ethagnawl提及或使用傳統for循環:

for (var x=0; x < numbers.length; x++) { 
    document.getElementById(type + x).innerHTML = numbers[x]; 
} 
+0

謝謝@slebetman!這仍然返回[0] = 0,1,2,3。我需要列出索引[0] [1] [2]和數字值。乾杯P – tuvboy 2013-03-07 04:34:50

+0

非常接近。還有一些你誤解的東西。我只是改變了你的代碼中的幾個字符來解決它:http://jsfiddle.net/h9AS6/1/ – slebetman 2013-03-07 05:29:01

+0

仔細閱讀我的jsfiddle和你的不同之處。 – slebetman 2013-03-07 05:29:28