问题标签 [loops]

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 投票
14 回答
838277 浏览

php - 如何找到foreach索引?

是否可以找到foreach索引?

在一个for循环中如下:

$i会给你索引。

我必须使用for循环还是有某种方法可以在foreach循环中获取索引?

0 投票
21 回答
123089 浏览

java - 应该尝试...catch 进入循环内部还是外部?

我有一个看起来像这样的循环:

这是唯一目的是返回浮点数组的方法的主要内容。null如果出现错误,我希望此方法返回,因此我将循环放在一个try...catch块中,如下所示:

但是后来我也想到了将try...catch块放入循环中,如下所示:

是否有任何理由,性能或其他原因,更喜欢一个而不是另一个?


编辑:共识似乎是将循环放在 try/catch 中更干净,可能放在它自己的方法中。但是,仍然存在关于哪个更快的争论。有人可以对此进行测试并给出统一的答案吗?

0 投票
25 回答
109163 浏览

php - 检查数组是否是多维的?

  1. 检查数组是原始值的平面数组还是多维数组的最有效方法是什么?
  2. 有没有办法做到这一点,而无需实际循环遍历数组并is_array()在其每个元素上运行?
0 投票
4 回答
740 浏览

flash - flash: for 循环运行缓慢

我有一个关于闪存循环的问题......

在一个瓷砖游戏中,我正在制作一个包含整个关卡的迷你地图。它呈现地图的方式是一个在另一个 for 循环中带有一个 for 循环的函数。它循环遍历每个图块位置并附加一个地图块(基本上是一个 3x3 像素正方形),该图块根据图块的颜色进行着色。无论如何,我的问题是当关卡变得像 50x50 瓷砖一样大时,地图重新绘制需要永远(最多 3 秒)。有没有什么办法解决这一问题?或者有没有其他方法可以做小地图??如果关卡越来越大,可能需要 10 秒!

任何帮助表示赞赏!

谢谢,马特

0 投票
13 回答
4579 浏览

language-agnostic - 循环中的最后一个元素是否值得单独处理?

在复习的时候,有时会遇到这样的循环:

然后我问一个问题:你会写这个吗?

在我看来,这超出了编写循环的意图:你循环是因为每个元素都有一些共同的事情要做。使用此构造,您可以对某些元素执行不同的操作。因此,我得出结论,您需要为这些元素创建一个单独的循环:

现在我什至在 SO 上看到了一个关于如何以if一种好的方式编写 - 子句的问题......我很伤心:这里有些不对劲。

我错了吗?如果是这样,那么在编码时将循环体与特殊情况混在一起有什么好处?

0 投票
14 回答
130151 浏览

javascript - 在 JavaScript 中循环一组元素的最佳方式是什么?

在过去和我目前的大多数项目中,我倾向于使用这样的 for 循环:

我听说使用“反向while”循环更快,但我没有真正的方法来确认这一点:

在循环遍历 JavaScript 中的元素或任何数组时,什么被认为是最佳实践?

0 投票
7 回答
18849 浏览

loops - Mathematica 中的 ForEach 循环

我想要这样的东西:

或者,更一般地,解构您正在循环的列表中的任意内容,例如:

通常,您希望使用Map或其他纯函数式构造,并避免使用副作用的非函数式编程风格。但这里有一个例子,我认为 for-each 结构非常有用:

假设我有一个将符号与表达式配对的选项(规则)列表,例如

现在我想制作一个哈希表,在其中将这些符号明显映射到这些数字。我认为没有比这更清洁的方法了

额外的测试用例

在这个例子中,我们转换了一个变量列表:

在上述之后,{a,b,c}应评估为{f[1],f[2],f[3]}。请注意,这意味着each如果它是一个列表,则它的第二个参数应该不被评估。

如果未计算的形式不是列表,它应该计算第二个参数。例如:

那应该打印 和 的bc

附录:为了正确地做for-each,它应该支持Break[]Continue[]。我不确定如何实现。也许它需要以某种方式用 For、While 或 Do 来实现,因为这些是唯一支持Break[]and的循环结构Continue[]

到目前为止,答案的另一个问题是:他们吃Return[]s。也就是说,如果您在函数中使用 ForEach 循环并希望从循环内从函数返回,则不能。在 ForEach 循环内发出 Return 似乎像Continue[]. 这只是(等待它)让我陷入了循环。

0 投票
5 回答
3560 浏览

.net - 循环和垃圾收集

我正在开发一个 Web 应用程序,我遇到了以下情况。

我需要在循环中执行 a=Nothing 还是垃圾收集器会清理干净?

0 投票
6 回答
394120 浏览

windows - 如何使用批处理脚本对目录中的每个文件执行某些操作

如何使用 .bat 或 .cmd 文件遍历目录中的每个文件?

为简单起见,请提供一个仅回显文件名或文件路径的答案。

0 投票
17 回答
321069 浏览

javascript - 打破 JavaScript 中嵌套循环的最佳方法是什么?

打破 Javascript 中的嵌套循环的最佳方法是什么?