问题标签 [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 - Js 只识别 if 中数组的前 2 个元素
基于我的老问题,我开始从头开始在 html/js/css 中重建我的游戏。当我只有播放器和 1 个积木时,它似乎有效,但在有 2 个或更多积木时不起作用。
我复制了关于使用一个数组将对象推入其中的概念。然后,我没有使用过滤器,而是为此数组使用了一个 for-of 循环来进行一个函数中的运动,并检查curentElement(player 0)是否与Obj(由循环选择)不同,然后检查位置和如果它碰到什么东西就记录下来。这是我的代码:
它应该只是阻止我撞到第二块砖(第一块阻止我并记录它),但它让我通过并且没有记录任何关于它的内容。它接缝以获得正确的 x,y,width,height,setPosition 值,所以我认为这是由于 move 函数中的 if 语句,但我不确定。有人可以解释一下为什么会这样吗?我用谷歌搜索了很多,但看起来没有什么是我正在搜索的。PS:我想保留没有 jQuery 的代码,但如果有必要这样做,我会使用它。
javascript - 使用 for-of 循环的数组中所有元素的总和/平均值
我已经阅读了有关 for-of 循环的其他问题,并提出了此代码计算数组中所有元素的平均值和总和,似乎有一些不正确的地方,将不胜感激。:
如果你们知道使用“for-of”循环做同样事情的其他更简单的方法,请随时分享。
javascript - 使用 for of 循环计算数组中的多个元素
我是 JavaScript 的新手,我有一个练习,for...of
但它失败了。它回来了NaN
。
我在哪里做错了,我需要什么?
代码:
javascript - 为什么 for-of 不跳过稀疏数组的空槽?[JavaScript]
正如标题所说,为什么for-of
运行循环体时将循环变量绑定到undefined
不在 中的索引Array
,而其他迭代构造(forEach()
、for-in
等)却没有?
澄清:许多人误解了这个问题
它不是关于:
迭代(不能稀疏)或TypedArray
s任何其他班级如何“正确”迭代在稀疏上Array
(所有其他方法似乎都以预期的方式工作)跳过在一个undefined
元素Array
在 MDN 上找到的以下非正式描述是否不正确?
for...of
语句 [...] 调用自定义迭代钩子,其中包含要为对象的每个不同属性的值执行的语句。
即它也被调用用于不存在的属性。
这是预期的行为(是)以及为什么以这种方式设计?
javascript - For-of 循环默认迭代器函数
考虑在 上定义的这个简单的生成器函数Object.prototype
:
当然,也可以这样使用:
但是我想知道是否有任何方法可以将pairs
函数分配给对象原型,因此它将在for-of
循环中自动触发而无需显式调用;像这样:
有任何想法吗?
javascript - 在 JavaScript 中退出 for-of 循环块中使用 Break 语句与提前返回
for of
如果没有结果值,我需要退出一个循环。我突然想到我可以使用早期return
语句来处理这个问题,或者使用break
语句。需要明确的是,在这种情况下,在我跳过的部分之后的这段代码中没有额外的代码可以执行,所以我假设任何一个都可以在这里工作(中断或返回)。在这种特殊情况下使用一个而不是另一个的任何功能或性能原因?
选项1:(休息)
选项2:(返回)
javascript - 在 JavaScript 中使用 for..of 进行迭代时从数组中删除元素是否应该是安全的?
我知道它适用于Set
,但我的印象是它也适用于 Array。所以我在 Chrome 中尝试了它,但很惊讶它不起作用:
它没有删除4
.
所以我的问题是,迭代安全是否只应该与Set
and一起使用Map
,而不是Array
?
(如果是这种情况,那么除了简单的语法之外,我看不到使用它的好处for(;;)
。我的印象for..of
是这将防止错误,即使使用Array
,就像使用Set
and一样Map
)
请注意,作为一个技巧,我可以通过克隆数组(或反向迭代)来做到这一点:
javascript - 我可以在 Javascript for...in 和 for...of 循环中使用 continue 和 break 吗?
我可以在and类型的循环中使用break
andcontinue
语句吗?或者它们只能在常规循环中访问。for...in
for...of
for
例子:
javascript - for 循环和 for 循环与 async 和 await 顺序
我已经阅读了诸如 Using async/await inside for loop之类的帖子
我正在尝试运行一个循环,将一些数据保存到数据库中sequentially
不知何故,我没有让它工作,它仍在运行parallel
。
我已经通过使用for of loop
这样的方式尝试了这两种方法
使用for loop
两种方式仍然并行运行。
提前感谢您的任何建议和帮助。
typescript - 当产生一个元组时,为什么打字稿会联合两个索引的类型?
我正在[number, object]
从生成器函数中生成一个具有类型值的数组,并通过循环遍历该函数for...of
。使用 is 类型解构值for (const [k, v] of iterator())
时。我希望它具有与我在生成器函数中使用的类型相同的类型。v
number | object
object
yield
我在这里创建了我在打字稿 REPL 中遇到的问题的演示
问题出在第 22 行,打字稿编译器抱怨访问解构后可能不存在的键。
为什么打字稿认为解构的变量可能是任何一种类型?