问题标签 [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.

0 投票
5 回答
692 浏览

javascript - 在同一行输出 - For Of Loop

如何在同一行输出?目前,它在垂直列表中列出;

但我想像这样“lAbI...”

代码有效。这只是输出结果的问题。请提供简单的解决方案。

0 投票
4 回答
267 浏览

javascript - 如何使用 for of 循环,生成一个数组作为输出

我想将名为“days”的数组中的天数大写,并仅通过调用“console.log(days)”以数组形式获取结果
请参见下文:谁能帮我完成for块中的代码环形?

编辑(摘要):我对此提出质疑,以了解在这种情况下每个“天”的值没有改变的原因。Suren Srapyan 对此提供了一个很好的答案:'您正在获取循环中每个项目的副本。所以 day 只是项目值的副本,将其更改为另一个值不会更改数组中的项目。

0 投票
1 回答
42 浏览

javascript - For-Of 循环“设置不是函数”

我在这里有这段代码:

但是,当我尝试运行它时,它说“wordSet 不是函数”。如果我使用常规的“for ...”循环,它会正常工作。有谁知道这里的问题是什么?

0 投票
2 回答
193 浏览

javascript - `for..of` 循环如何从对象解析迭代器?

对于实现可迭代接口的对象,它必须实现[Symbol.iterator]指向返回iterator. 我想知道for..of循环是否在内部调用对象上的此方法来获取它iterator

我很好奇的原因是,例如,Map定义了一个带有多个迭代器(条目、值、键)的接口,如果没有明确指定,for..of循环似乎使用map.entries()调用返回的迭代器。

我试图在规范中搜索,但它只指定iterator作为参数传递给抽象操作ForOf

使用参数 lhs、stmt、 iterator、iterationKind、lhsKind 和 labelSet调用抽象操作 ForIn/ OfBodyEvaluation。

所以基本上两个问题:

  1. 如何从对象中获取迭代器?
  2. 规范中在哪里指定?
0 投票
6 回答
290 浏览

javascript - 如何编写更简洁的 for-of 循​​环

我有一个for-of循环,它是这样的:

现在由于某种原因 ifsomeArray[0].properties未定义,循环中断,说:

无法读取未定义的属性 'Symbol(Symbol.iterator)'

如果我尝试使用!!布尔运算符的简写:

它再次失败。

我能想出的唯一解决方案是:

还有比这更简洁的解决方案吗?

0 投票
1 回答
183 浏览

javascript - 修改对象的 for...of 循环行为

鉴于 ES6 中新的“符号”原语,是否可以修改/设置对象中 for...of 循环的行为?

我正在创建一个小实用程序,用于从“可迭代”(出于我的目的将其定义为对象、数组、映射或集合)中的“深度提取”值。

Array、Map 和 Set 使用 for..of 循环,但普通对象没有。为了一致性,我希望对象使用这个循环(并且应该迭代值而不是属性(因为 for...in 允许你这样做))。

这可以做到吗?

0 投票
2 回答
576 浏览

javascript - 是否可以使用 javascript 中的“for of”循环从数组中拼接一个项目?

我已经能够使用“for”循环和“for in”循环来计算拼接,但不能使用“for of”循环。可能吗?这是我的起始代码......有什么想法可以改变以使其工作吗?

0 投票
1 回答
306 浏览

angular - TS - 自定义可迭代 - for...of 错误

我正在尝试在我的角度应用程序中实现自定义迭代。我收到此错误:“类型'连接'不是数组类型或字符串类型。” 当我尝试使用 for..of 遍历类时

我发现,当您尝试使用这种 for..of 技术迭代除 [] 或字符串以外的任何内容时,您可能会在 ES5 中遇到此错误。我的理解是,我应该能够做到这一点,因为 TS 是 ES6 的超集,而不是编译成我在 tsconfig.json 中定义的目标 ES5 错误?

DTO:

迭代器:

可迭代:

用法,这是我得到错误的地方,this.connection 有下划线:

TSC 版本 2.7.2

0 投票
3 回答
46 浏览

javascript - 对于数组完成之前的每个循环中断

我有一个简单的函数查看数组中的对象。如果它没有找到基于属性的匹配项,它会检查它是否有子项,然后检查每个子项的属性值。

它似乎通过第一个带有孩子的对象按预期工作,但是它没有达到第三层。

对象是这样的:

我只是像上面那样调用函数并传入数组。

我可以很好地找到 Title 2,但如果我正在寻找 Title 3 或 4,该函数将不会迭代到数组中的第三个对象。我错过了什么?

0 投票
2 回答
1148 浏览

javascript - 迭代二维json的正确方法

我有一个看起来像这样的二维 json:

它是从 C# 对象序列化的。无论如何,我尝试像这样迭代这个 json:

第一个循环应该迭代两次:在第一次迭代期间,第二个循环应该迭代两个 ID 为 1 和 2 的对象;在对 ID 为 3 和 4 的对象进行第二次迭代时。

我猜问题是第一个循环没有 Key 因为第一个循环只迭代一次,而第二个循环遍历 ID 为 1、2、3、4 的对象。

那么我如何将其作为二维选项卡进行迭代呢?

[编辑]

我在第二个循环内迭代时犯了一个错误,看起来它没有迭代。上面的解决方案是正确的。