2011-08-30 77 views
1

考虑数组:如何获取数组元素号?

var array = ['one', 'two', 'three']; 

我需要遍历,并得到这样的警报:

0值是一个

的1个值是2

的2值为三

for (i=0; i<array.length; i++) { 
    alert('The ' + ? + 'value is ' + array[i]); 
} 

我该怎么做?谢谢。

+1

我不知道你是否在拖我们=) – jadarnel27

+0

@ jadarnel27对不起,这个问题真的不是我想成为的。我简化了很多。但是因为答案,现在我明白了,我必须改变脚本逻辑,使用嵌套的'for'循环或其他东西。谢谢大家! – Webars

+0

我希望我没有得罪。我看到了关于javascript/jQuery的其他(非常有用的)答案,并且认为你在搞我们=)我现在明白了。 – jadarnel27

回答

6

只要使用i,它将是位置。

for (i=0; i<array.length; i++) { 
    alert('The ' + i + 'value is ' + array[i]); 
} 
2

如果你想提醒的位置和关联价值,你将需要使用i指示的位置,并array[i]指示值:

//Will output "The 0 value is one", "The 1 value is two", ... 

for (var i=0; i<array.length; i++){ 
    alert('The ' + i + 'value is ' + array[i]); 
} 
+0

你可能会误解,我想他是想?是我。 – Loktar

+0

这甚至不是您发布的有效JavaScript。编辑:现在你已经将'?'改为'i'了。 –

+0

我修正了它,这是一个打字错位:) –

2
var i, max; 

for (i=0, max = array.length; i < max; i += 1) { 
    alert('The ' + i + 'value is ' + array[i]); 
} 
  • 申报开始时你的变化。这有助于防止吊装。

  • 为了更高效地保存数组长度,所以不必每次都查询数组对象。

  • 使用i + = 1而不是i ++。

1

使用可变读取阵列的长度只有一次。

另外要小心,如果您在JavaScript中的变量前面没有使用var语句,解析器将查找链中同名变量。如果您正在使用本地变量,则始终使用var语句声明它。

for (var i = 0, len = array.length; i < len; i++) { 
    alert('The ' + i + ' value is ' + array[i]); 
}