问题标签 [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.
typescript - 输入'HTMLCollectionOf' 必须有一个返回迭代器的 '[Symbol.iterator]()' 方法
我正在构建一个数组
const myCanvas = document.getElementsByTagName('canvas')
它实际上在工作。它返回给我的是这样的:
这是一个 TypeScript 项目,我想迭代这个数组并转换每个图像以记录它。
像这样:
(我没有使用foreach
,因为它不适用于HTMLCollectionOf<HTMLCanvasElement>
类型)
我需要迭代返回我的HTMLCollection
那个。getElementsByTagName
输出是:
javascript - 如何在 JavaScript 中重做 for...of 循环?
在 Ruby 中,redo
可以使用关键字返回到循环的开头而不消耗输入。我想对for...of
JavaScript 中的循环做同样的事情。
通常,您只需不增加常规for
循环的索引即可。但是,我必须使用for...of
循环,因为它循环遍历字符串的 Unicode 代码点,而常规for
循环将遍历字符串的 UTF-16 代码单元。
如何在不重复代码的情况下回到循环的开头?
javascript - 使用 for...of 循环删除数组项
我正在尝试编辑数组并删除不满足特定条件的元素。如果我使用reverse for loop
组合 with .splice(index,n)
,则代码可以正常工作。我坚持使用 ES6for...of
循环实现相同的功能
使用 for..of
有没有办法使用for...of
循环来实现这个功能,还是我必须坚持reverse for loop
更新
我需要将不符合filter()
orreverse for loop
函数删除的元素的条目收集到辅助数组中。
javascript - 在进行修改时需要一个“for-of”循环而不是一个“for”循环
我在使用TSlint时遇到问题,并理解为什么for(i=0; ...)
不再允许循环。
假设我有一个简单的代码,例如:
TSlint要求我将其转换为for -of。但是,使用for-of不起作用,因为我需要修改值并且 for-of 不允许修改。我可以使用类似的东西
但随后我收到编译警告
TypeScript and Iterator: Type 'IterableIterator<T>'
is not an array type 我必须更改编译选项。另外,我可以迭代keys()
我认为有点愚蠢的for(const i=0...)
有人可以解释一下为什么TSlint仍然在抱怨这个以及为什么不允许使用for(const i=0; ....)
此外,我刚刚看到如果在for-of中执行此代码
我最终会得到相同的数组,因为它在循环之后没有被修改,但是,如果我有类似的方法但使用对象
惊喜,我的对象数组在循环之后被修改了!有人可以解释一下为什么吗?
谢谢
我搜索了该错误,并在 github 中将其视为已关闭的问题,但我找不到解决方案 https://github.com/palantir/tslint/pull/1813
javascript - 在声明方面,Javascript for of 循环中的 let 和 const 之间没有区别吗?
我最近遇到了这段代码:
我认为最好使用let
声明,temp
因为这样变量只会被声明一次。但是,我也通过 babel 运行了这个示例以及版本,let
这就是我所看到的:
变成:
所以 babel 对待const
和let
相同。我想知道 Javascript 运行时是否在引擎盖下同样对待这 2 个版本。得出的结论是即使let
在循环内声明了一个变量,它仍然会在每次迭代时重新声明?
javascript - for...of 循环。我应该使用 const 还是 let?
当使用 for of 循环时,这两个都是允许的并且可以工作:
我总是使用const
,因为我不喜欢在任何情况下更改number
变量,但是当我在其他人的代码中看到for...of
循环时,它经常使用let
. const
也许有一个我没有看到的缺点?浏览器漏洞?
为什么使用const
以及何时let
在for...of
循环中使用?
javascript - 为什么函数体内的 for of 循环没有给我传统 for 循环所做的预期输出?
为什么函数体内的 for of 循环没有给我传统 for 循环所做的预期输出?似乎 for of 循环中的 el 与 for 循环中的 iterable[i] 不同?
javascript - JavaScript:如何将 for/of 循环转换为带有变量的普通 for 循环?
我有一个代码,我需要将 for/of 循环更改为普通的 for 循环,但我不知道如何转换变量。比如一个有一个
如何将其更改为这种结构?
javascript - 在 JavaScript ES6 中,for-in 循环和 for-of 循环中,变量 i 在块的每次迭代后停止存在?
通常我会let i
在以下前两种情况下使用 a :
但是Mozilla 文档声明 aconst
可以使用。那么i
区块结束后就不复存在了{ console.log(i) }
?如果是上面的第三种情况,那不是真的吗?
这是一个微妙的规则吗?循环变量forfor ( in )
和for ( of )
loop在块之后就不存在了,但是对于for (;;)
循环,它还存在吗?它有点微妙——它在任何 ES6 规范中吗?
node.js - Node.js 异步 for 循环未运行
我正在设置一个 for 循环来向 Redis 添加数据。由于所有 Redis 调用都是异步的,而且我不能只添加 JSON 对象,因此我正在尝试使用for..of
循环来添加所有内容。我的问题是由于某种原因它没有运行循环。这是代码:
我可以访问“使其成为 else 语句”控制台日志,但它实际上从未运行过 for 循环。我尝试将其设为异步函数,然后调用该函数,但它仍然没有运行。我什至没有得到res.send()
我在这里缺少什么的回应?