问题标签 [for-in-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 投票
3 回答
231 浏览

objective-c - Objective-C >> 使用 for-in 循环 >> 只有当对象是特定类型时才进入循环

我在想...当我们使用 for-in 循环时,我们应该设置在集合中搜索的对象的类型。

但是...如果 simpleArray 具有不同类型的对象而不仅仅是 MYObject 类型的对象,我希望循环将“跳过”它们;相反,我注意到它将它们转换为 MYObject 对象,这没有任何意义(当然,会导致应用程序崩溃)。

如果对象属于特定类型,有没有办法让 myObj 只进入循环代码行?还是我注定要检查所有对象(然后必须开始反省它们,等等......)?

0 投票
4 回答
4969 浏览

javascript - 在 for-in 循环中访问前一个键/值

我是 javascript 的新手,所以如果它很明显,请原谅。

假设我有一个 for-in 循环,如下所示......

是否可以在 for-in 循环中访问上一个或下一个键/值对?

0 投票
1 回答
5406 浏览

javascript - 循环遍历窗口对象中的所有项目

昨晚,我真的很无聊,我想了一个小剧本的点子。基本上我在考虑 PHP 与 JavaScript 相比有多少内置函数,然后我意识到我真的不知道 JavaScript 实际有多少函数。我想编写一个脚本来查看窗口对象,包括对象内的每个对象等等。我编写了脚本并且它起作用了(在一个较小的对象上尝试过)。

但是,我的问题是 JavaScript 不会让我遍历整个 windows 对象。

我努力了:

我也试过:

两段代码都给了我:

但是,我知道 windows 对象内部还有很多属性。比如所有的SVG函数和HTML函数。为什么 JavaScript 会跳过对象中的许多属性?

0 投票
1 回答
2943 浏览

javascript - Javascript 中的“for..in”产生“未定义”值

我正在开发 Chrome 的扩展程序,我只是想知道“for..in”在 Javascript 中的用法。让我用一个例子来解释我发现的问题:

假设我有一个 volatile 类型的对象{prop1: "foo", prop2: "bar", ...}。我想以某种语法将此对象保存在字符串中,例如"prop1=foo;prop2=bar;...". 这是我使用的代码:

fun将返回以下字符串:undefinedx=1;y=2;.

我真的不明白为什么它会遵循这种行为。我知道我可以使用 JSON 来“字符串化”这样的事情,但实际上我只是想了解它为什么会发生。

0 投票
3 回答
25100 浏览

ios - 使用快速枚举和 NSDictionary,无法保证按键的顺序进行迭代——我怎样才能使它按顺序排列?

我正在与一个 API 通信,该 API 将一个 NSDictionary 作为响应,其中包含我的应用程序需要的数据(数据基本上是一个提要)。此数据按最新到最旧排序,最新项目位于 NSDictionary 的前面。

当我快速枚举它们时for (NSString *key in articles) { ... },顺序似乎是随机的,因此我对它们进行操作的顺序不是从最新到最旧的顺序,就像我想要的那样,而是完全随机的。

我已经阅读过,当使用 NSDictionary 的快速枚举时,不能保证按顺序遍历数组。

但是,我需要它。如何让它按照 NSDictionary 所在的顺序遍历 NSDictionary?

0 投票
2 回答
137 浏览

javascript - 用 for..in 阻塞事件循环

我想使用 revalidator ( https://github.com/flatiron/revalidator ) 的模式定义检查 Javascript 对象是否有不需要的属性。

我想出了以下片段:

此代码在递归到嵌套模式的模式上同步复制所需的属性和循环。

我担心这次会阻塞事件循环。

这可以忽略不计,因为我不做 I/O?

编辑

感谢您的评论。就像 jbaylina 提到的那样,模式确实嵌套到最多 2 个级别,每个级别可能有大约 10 个属性。尽管如此,我尝试使用 setImmediate 并且它可以工作,但是当它确实是一个问题时,我可能会异步迭代:

这看起来真的很乱,但它有效并通过了测试。您如何看待这个解决方案?

0 投票
2 回答
79 浏览

javascript - javascript: 如何创建一个缓慢的 for...in 循环

我正在制作自己的幻灯片。我想迭代一个对象的成员,每次迭代之间有一个可观察的停顿。

使用 setInterval,我想出了这个:

但是,这不起作用。它会立即转储键/值对,我的期望是每个操作之间会有一个间隔。

如何在每个操作之间暂停迭代?

0 投票
2 回答
48 浏览

javascript - Javascript For ...在语法问题?

以下代码中的搜索功能不起作用,我相信它与 For...In 循环有关,但我是 JS 新手,不确定原因:

0 投票
4 回答
218 浏览

javascript - javascript for...in 循环请解释

我在这里的第一个问题需要帮助理解 JavaScript 中的 for in 循环。

当我运行以下代码时,我从警报函数中得到“未定义”:

但是如果我要更改.[ ](即alert(o[p]))警报将按预期返回属性值。

为什么我不能.用来访问对象属性?

0 投票
3 回答
1360 浏览

javascript - 这个“for..in”语句为什么以及如何工作?

我正在通过 CodeCademy 学习 JavaScript,并且在“联系人列表”项目中;具体来说,“寻找朋友”课程。它让我了解对象是如何工作的以及如何在其中查看。

演示代码如下:

所以我知道这friends是一个对象,bill并且stevefriends. 我不明白的是内部的外观listsearch功能friends。我看到它使用了for/in循环......但是在学习循环之后,我看不到任何条件,也看不到迭代机制。我不知道这for/in实际上是如何工作的。也许如果有人可以提供等效语法的替代方案;也许,甚至,如果有人可以用口语解释为什么/如何 for/in工作?

谢谢!

注意:标记为与语言无关,因为这是一个更高级别的编程/概念问题,即使这里的语法是 JavaScript。