我有一个简单的数组:
var myArr=["one","two","three"];
我有一个计数循环,它将var i
的值增加一。
我想要做的是每次循环运行时从数组中打印下一个值,在文本字符串旁边,如下所示:
alert('value number '+myArr[i]+);
但由于某种原因,我不能让这个工作。 以下代码有效,所以我假设我没有正确地调用计数器:
alert('value number '+myArr[0]+);
答案 0 :(得分:11)
确保你正确地递增循环计数器(它应该从零开始并一直运行到数组中的最高索引),以及+
末尾的迷路alert
线被移除。
for (var i = 0; i < myArr.length; ++i) {
alert('value at index [' + i + '] is: [' + myArr[i] + ']');
}
答案 1 :(得分:2)
for ( i = 0; i < miArray.length; i++ ){
alert( 'value number ' + myArr[i] );
}
答案 2 :(得分:2)
使用内置函数
而不是循环function myFunction() {
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.valueOf();
alert(x);
}
答案 3 :(得分:0)
按“下一个值”,是指当前索引的值+ 1?
for (var i=0; i < myArr.length; i++){
console.log(myArr[i]); // value of current index
if (i !== myArr.length - 1) { // if on last index then there is no next value
console.log(myArr[i + 1]); // value of next index
}
}
答案 4 :(得分:0)
你在想一个迭代器吗?这是即将推出的标准,但它仅在javascript 1.7+中受支持,而现在只支持Firefox,并且您必须使用<script type="application/javascript;version=1.7">
... Chrome将声称支持JavaScript 1.7 ,但它实际上不会支持任何东西。 [别问我为什么这样做]
只是为了证明它:
function yourIterator(arrayToGoThrough)
{
for(var i = 0; i < arrayToGoThrough.length; i++)
{
yield arrayToGoThrough[i];
}
}
var it = new yourIterator(["lol", "blargh", "dog"]);
it.next(); //"lol"
it.next(); //"blargh"
it.next(); //"dog"
it.next(); //StopIteration is thrown
请注意,这是新标准,您可能不想使用它=)...
你也可以“模拟”这样的迭代器:
function myIterator(arrayToGoThrough){
this.i = 0;
this.next = function(){
if(i == arrayToGoThrough.length) //we are done iterating
throw { toString: function(){ return "StopIteration"; } };
else
return arrayToGoThrough[i++];
}
}
如果您想使用当前标准,您可以遍历数组
for(var i = 0; i < yourArr.length; i++) alert("yourArr["+i+"]: "+yourArr[i]);
答案 5 :(得分:0)
以下代码将使用箭头功能。简单和简化的代码
var myArr=["one","two","three"];
myArr.map((elements) => alert('value number' + " " + elements));
答案 6 :(得分:0)
你的第二个选项alert('value number '+myArr[0]+);
,因为你在这种情况下定义数组索引就像0一样工作,但myArr [i]不工作,因为我没有定义所以如果指定i = 0然后第一个值工作,但主要的解决方案是使用循环和增量计数器并获得总数组使用myArr.length,其他明智的时间循环运行你不知道。
for (var i = 0; i < myArr.length; ++i) {
alert('Array value at index [' + i + '] : [' + myArr[i] + ']');
}
了解更多信息