有没有一个JavaScript等同于Python的for循环
Is there a JavaScript equivalent to Python's for loops?
所以我很失望地发现JavaScript的for ( var in array/object)
并不等同于python for var in list:
。
在 JavaScript 中,您正在迭代索引本身,例如
0,
1,
2,
...
与 Python 一样,您正在迭代索引指向的值,例如
"string var at index 0",
46,
"string var at index 2",
["array","of","values"],
...
有没有一个标准的JavaScript等同于Python的循环机制?
免責聲明:
我知道 for(对象中的 var)结构旨在用于迭代字典中的键,而不是通常迭代数组的索引。我问了一个具体问题,与我不关心顺序(或非常关心速度)并且只是不想使用 while 循环的用例有关。
在下一个版本的 ECMAScript(ECMAScript6 aka Harmony)中,将用于构造:
for (let word of ["one", "two", "three"]) {
alert(word);
}
for-of
可用于迭代各种对象、数组、映射、集合和自定义可迭代对象。从这个意义上说,它非常接近Python的for-in
。
对于数组来说,最相似的是forEach循环(当然索引是可选的)
[1,2,3,4,].forEach(function(value,index){
console.log(value);
console.log(index);
});
因此,您将获得以下输出:
1
0
2
1
3
2
4
3
我不确定我看到的区别有多大。很容易访问给定索引/键的值
var list = [1,2,3,4,5];
// or...
var list = {a: 'foo', b: 'bar', c: 'baz'};
for (var item in list) console.log(list[item]);
如前所述,您可以将forEach用于数组或对象...这是一个对象:
var list = {a: 'foo', b: 'bar', c: 'baz'};
Object.keys(list).forEach(function(key, i) {
console.log('VALUE: 'n' + JSON.stringify(list[key], null, 4));
});
相关文章:
- 为什么JavaScript在for循环为3时向所有4发出警报
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 我的javascript for循环不起作用
- For循环冻结Javascript
- 如何在for循环中添加事件侦听器
- 双“for”循环(循环)
- javascript for循环不起作用
- for循环中的javascript if语句找不到==
- Javascript在for循环中等待处理请求
- For循环在Jquery中只运行一次
- 如何在for循环中使用计数器
- for循环中的JavaScript闭包
- 为什么我们在ES2015中需要一个新的for循环结构,而我们已经有了for、forEach
- For循环在调用时未运行
- 如何使用for循环添加所有按钮'单击事件
- 如何更改在for循环中生成的圆的位置
- 为什么这个For循环会使浏览器实验室崩溃
- 为什么我使用javascript获得了一个无限的for循环
- 在for循环中使用多维数组设置google.maps.Marker图标
- 如何在angularJS中运行for循环而不使用html标记