2013-03-04 111 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