在Javascript中循环遍历数组的元素

Evi*_*kie 5 javascript arrays jquery

我在Javascript中有一个数组:

var array = new array();
array[0] = "apples";
array[1] = "oranges";
array[2] = "pears";
Run Code Online (Sandbox Code Playgroud)

在PHP中,使用给定的数组,我可以使用以下内容遍历数组,并分解键和值:

foreach ($array as $key => $value) {
    echo("Key is $key and Value is $value");
}
Run Code Online (Sandbox Code Playgroud)

我怎么能用Javascript做到这一点?我知道:

for (x in array){
    // Do something with x.
}
Run Code Online (Sandbox Code Playgroud)

但我发现没有什么可以复制php风格的foreach.是否有可能简洁地在Javascript中实现类似的东西?(我也在使用jQuery,如果可以在jQuery中完成某些事情).

Nos*_*dna 14

第一,

var array=[];
Run Code Online (Sandbox Code Playgroud)

比使用"新"更可取.

其次,在这种情况下,你的键是数字的,所以你只需:

for (i=0;i<array.length;i++) {
  console.log("Key is "+i+" and Value is "+array[i]);
}
Run Code Online (Sandbox Code Playgroud)

如果要使用非数字键,请使用JavaScript对象而不是数组.使用字符串而不是数字作为数组索引是有效的,但JavaScript对此没有太多支持.


我使用"console.log"因为我假设您不希望弹出一堆警报.console.log可以替换为用于记录信息的任何内容.您可以使用alert()或将文本写入div.

  • 你应该添加console.log需要firefox和firebug. (3认同)

Grz*_*zki 9

使用jQuery.each,您可以编写类似于(未测试)的内容:

jQuery.each(array, function(k,v) {
    console.log("K: "+,k," V:",v);
});
Run Code Online (Sandbox Code Playgroud)

  • 按照问题的要求. (7认同)