有没有相当于Python for for循环的JavaScript?

Luk*_*uke 6 javascript python iterator loops for-loop

所以我很失望地发现JavaScript for ( var in array/object)并不等同于蟒蛇for var in list:.

在JavaScript中,您正在迭代索引本身,例如

0, 
1,
2,
... 
Run Code Online (Sandbox Code Playgroud)

与Python一样,您正在迭代索引指向的值,例如

"string var at index 0", 
46, 
"string var at index 2",
["array","of","values"],
...
Run Code Online (Sandbox Code Playgroud)

是否存在与Python的循环机制等效的标准JavaScript?

免责声明:

我知道for(var in object)构造意味着用于迭代字典中的键,而不是通常在数组的索引上.我问一个特定的问题,这个问题与我不关心顺序(或非常关于速度)的用例有关,并且只是不想使用while循环.

Fra*_*sco 6

对于一个数组最相似的是forEach循环(当然索引是可选的)

[1,2,3,4,].forEach(function(value,index){
  console.log(value);
  console.log(index);
});
Run Code Online (Sandbox Code Playgroud)

所以你会得到以下输出:

1
0
2
1
3
2
4
3
Run Code Online (Sandbox Code Playgroud)


pha*_*dej 5

在下一个版本的ECMAScript(ECMAScript6又名Harmony)中,将采用以下形式

for (let word of ["one", "two", "three"]) {
  alert(word);
}
Run Code Online (Sandbox Code Playgroud)

for-of可用于遍历各种对象,数组,映射,集合和自定义可迭代对象。从这个意义上讲,它非常接近Python的for-in