问题标签 [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 投票
9 回答
2944 浏览

javascript - 在 JavaScript 中执行循环的最佳方法是什么

我偶然发现了几种在 JavaScript 中循环的方法,我最喜欢的是:

但是正如这里测试的那样(http://www.robertnyman.com/2008/04/11/javascript-loop-performance/),它可能应该被写成长度只计算一次。

在 jQuery 中有一个 .each 可以粘贴一个函数。我更喜欢这个,因为我不必像上面的解决方案那样输入两次数组。

如果 JavaScript 支持宏,那么你自己动手做就是小菜一碟,但遗憾的是它不支持。

那你们用什么?

0 投票
4 回答
1762 浏览

java - 递归而不是多循环

我希望这种方法适用于任何给定数量的参数,我可以通过代码生成来做到这一点(有很多丑陋的代码),它可以通过递归来完成吗?如果是这样怎么办?我理解递归,但我不知道如何写这个。

0 投票
6 回答
1616 浏览

c# - 删除 C# 中重复的硬编码循环和条件

我有一个类,它比较相同对象的 2 个实例,并生成它们的差异列表。这是通过循环遍历关键集合并使用已更改的列表填充一组其他集合来完成的(查看下面的代码后可能更有意义)。这有效,并生成一个对象,让我知道在“旧”对象和“新”对象之间究竟添加和删除了什么。
我的问题/担忧是……它真的很丑,有很多循环和条件。有没有更好的方法来存储/处理这个,而不必如此依赖无休止的硬编码条件组?


目标框架是 3.5。

0 投票
6 回答
1212 浏览

c# - 遍历列表并动态创建摘要行

编辑:我错过了一个关键点:.NET 2.0

考虑一下我有一个未排序项目列表的情况,为了简单起见,如下所示:

我需要创建一个类似报告的输出,其中累积了每天的总价格。每个项目应该有一行,后面是适当的摘要行。

拿这个测试数据:

所需的输出将是这样的:

处理这种情况的最佳方法是什么?对于这样的列表,我将为 TestClass 实现 IComparable 接口,以便可以对列表进行排序。

要创建报告本身,可以使用类似的东西(假设我们有方法来完成诸如累积价格、跟踪当前日期等任务):

这行得通,但就第二个“CreateSummaryLines”而言,我有一种奇怪的感觉。

您以什么方式处理这种情况(特别是考虑到这样一个事实,我们需要使用 List<> 项目而不是预先分类的 Dictionary 或类似的东西)?

0 投票
31 回答
19381 浏览

language-agnostic - 测试循环在顶部还是底部?(同时与做同时)

当我在大学(80 年代中期)学习 CS 时,不断重复的想法之一是始终编写循环测试在顶部(while...)而不是底部(do ...while)环形。这些概念经常得到研究参考的支持,这些研究表明,在顶部测试的循环在统计上比底部测试的循环更可能是正确的。

结果,我几乎总是编写在顶部进行测试的循环。如果它在代码中引入额外的复杂性,我不会这样做,但这种情况似乎很少见。我注意到一些程序员倾向于几乎专门编写在底部进行测试的循环。当我看到如下结构时:

或者相反(if在内部while),这让我想知道他们是否真的是这样写的,或者if当他们意识到循环没有处理空情况时他们是否添加了语句。

我已经进行了一些谷歌搜索,但无法找到有关此主题的任何文献。你们(和女孩)如何编写循环?

0 投票
13 回答
286180 浏览

c# - foreach 与 someList.ForEach(){}

显然有很多方法可以迭代一个集合。好奇是否有任何差异,或者为什么你会使用一种方式而不是另一种方式。

第一种:

另一种方式:

我想在我的脑海中,而不是我上面使用的匿名委托,你会有一个可重用的委托,你可以指定......

0 投票
5 回答
2879 浏览

php - 用在同一循环中修改的数组替换 foreach 循环中的数组

在上面的示例中,我想将 $arrayOne 传递到一个循环中,让一个函数操作删除 $arrayOne 的一些元素,然后让循环传递剩余元素上减少的 $arrayOne 直到循环返回 false .

建议?

0 投票
5 回答
4979 浏览

c# - 从 0x0000 循环到 0xFFFF

我想要一个使用 UInt16 (ushort) 循环遍历其所有值的循环。但是,这并没有这样做:

问题是当 i == 0xFFFF 而不是“做某事”时循环将退出。如果我将“for”语句更改为“for(ushort i = 0; i <= UInt16.MaxValue; i++)”,那么它就会变成一个无限循环,因为我永远不会到达 0x10000,因为 ushorts 只会到达 0xFFFF。

我可以将 'i' 设为 int 并将其强制转换或将其分配给循环中的 ushort 变量。

有什么建议么?

0 投票
4 回答
12526 浏览

sql - 如何在访问中运行查询循环?

我有一个带有表的数据库,该表充满了用于检查另一个数据库的条件和错误消息。

我想运行一个循环,以便根据第二个数据库中的所有表检查每个条件,并生成一个给出错误的报告。

这在 ms 访问中是否可能。

例如,

查询语句表

我有 400 多个这样的不同变量的查询。

我运行查询的表是

记录表

问候 ttk

0 投票
4 回答
9579 浏览

php - PHP:在循环中使用之前声明变量的正确方法

我有一个内置循环的变量。就像是:

如果省略了 $str = "" ,我会收到未定义的变量通知,但我认为 php 在第一次看到未声明的变量时会自动声明一个变量?

我该怎么做?