问题标签 [for-of-loop]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - JavaScript for of 循环中迭代器和生成器的区别
让我们创建一个迭代器和一个生成器以类似地工作。
for of
如果它包含 break 或 return 语句,它们在循环中表现不同的原因是什么?
生成器完成,而迭代器仍在循环结束后进行。
javascript - for..in 或 for..of 对象键
因此,当我使用 for..in 循环遍历对象键时,我的 IDE 不喜欢。我收到警告:
可能对意外(自定义/继承)成员进行迭代,可能缺少 hasOwnProperty 检查
所以我明白了它在说什么,所以在这种情况下,使用类似的东西for (const key of Object.keys(obj))
而不是for (const key in obj)
?
在性能方面,两者之间有什么真正的区别吗?
javascript - for..of 循环如何从 Array 中获取值
我有这段代码,
javascript - 为什么 for...in 和 for...of 在同一情况下表现不同?
我阅读了 for...in 和 for...of 的解释,但随后遇到了这种情况,在相同的情况下它们的行为不同。
那么,...args
&...rest
是数组(对象)对吗?我认为case1是正确的,并且其行为与许多来源中的解释相同(例如MDN for...of)
他们有什么区别,为什么在case2 for...in 工作而不是 for...of ?
javascript - 这个 for 循环控制台如何记录值而不是整个对象?
我正在学习 YDKJS 中的生成器,它解释了迭代器的工作原理,例如:
我理解这很好。然后它演示了如何使用for..of
循环,以便iterator
可以使用本机循环语法自动使用标准,例如:
我理解它的要点,但是只有value
回来而不是整个对象,包括done: false
?
谢谢!
javascript - 为什么这个 for 循环遍历未指定的元素?
我正在创建一个包含项目和子项目的清单。我有一个按钮来重置所有复选框,我需要检查项目是否都被选中,但不是子项目。
但是我的检查代码记录了所有的清单框,而不仅仅是项目。
这是模板:
这是代码:
为什么 updateTicks() 中的循环会同时注销 this.item_ticks 和 this.subitem_ticks?
javascript - 在 for...of 循环中创建 Promise 而不是 forEach?
我想并行执行一组 Promises,然后等到所有 Promises 都执行完毕。
这有效:
但是,如果我使用for (object of objects) {...}
而不是objects.forEach(function(object) {...});
它不起作用。对于数组中的每个 Promise,都会在数组中destroy(object);
的第一个对象上执行:
这是为什么?
javascript - Javascript 简单的 for 循环与 for...of 性能
我已经看到,自 ECMA 6 以来,我们可以使用for...of
而不是传统的 for 循环:
VS
你有没有看到第二个更具可读性、简单性和可维护性!
我只是想知道第二种语法的性能如何,因为我需要在游戏的渲染循环(每秒 60 次)中大量使用它。
你有线索吗?
reactjs - babel 的 for-of 循环传输代码不支持某些浏览器
我的反应项目中有一些 es6 代码,如下所示:
并且在传输到 es5 后运行良好。但是,如果我像这样更改它们:
ReferenceError: Can't find variable: Symbol
然后它会在 iPhone 5c 中引发错误。我尝试了两者foreach
for-in
和纯for
循环,它们都在那个旧设备上运行良好。但是,我需要做类似的事情async () => { for (...) { await doSthAysnc; } }
,它不能使用foreach
。更何况,for-of
本来就很危险,而且纯真for
的很丑。所以如果可能的话,我更喜欢使用for-of
. 谢谢。
@Bergi好吧,这就是它转换为的代码:
javascript
("================================================================"),m=["a","b","c"],e.prev=38,v=c.a.mark(function e(n){return c.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new Promise(function(e){return setTimeout(function(){return e(n)},1e3)});case 2:case"end":return e.stop()}},e,t)}),y=!0,b=!1,w=void 0,e.prev=43,_=m[Symbol.iterator]();case 45:if(y=(x=_.next()).done){e.next=51;break}return E=x.value,e.delegateYield(v(E),"t2",48);case 48:y=!0,e.next=45;break;case 51:e.next=57;break;case 53:e.prev=53,e.t3=e.catch(43),b=!0,w=e.t3;case 57:e.prev=57,e.prev=58,!y&&_.return&&_.return();case 60:if(e.prev=60,!b){e.next=63;break}throw w;case 63:return e.finish(60);case 64:return e.finish(57);case 65:e.next=69;break;case 67:e.prev=67,e.t4=e.catch(38);case 69:console.log("================================================================"),