问题标签 [nested-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 投票
17 回答
321069 浏览

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

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

0 投票
33 回答
590172 浏览

python - 如何打破多个循环?

给定以下代码(不起作用):

有没有办法使这项工作?或者我是否需要进行一次检查以跳出输入循环,然后进行另一项更有限的检查,以在用户满意的情况下一起跳出外部循环?

0 投票
25 回答
213547 浏览

c# - 跳出嵌套循环

如果我有一个嵌套在另一个循环中的 for 循环,我怎样才能以最快的方式有效地退出两个循环(内部和外部)?

我不想必须使用布尔值然后不得不说转到另一个方法,而只是在外循环之后执行第一行代码。

什么是解决这个问题的快速而好的方法?

我在想异常并不便宜/应该只在真正异常的情况下抛出等。因此,从性能的角度来看,我认为这种解决方案不会很好。

我认为利用 .NET 中的新功能(匿名方法)来做一些非常基本的事情是不正确的。

0 投票
7 回答
77648 浏览

big-o - 什么是嵌套循环的 Big-O,其中内循环的迭代次数由外循环的当前迭代决定?

以下嵌套循环的 Big-O 时间复杂度是多少:

还会是O(N^2)吗?

0 投票
15 回答
4455 浏览

c++ - 如果达到结束条件,是否可以在 C++ 中退出 for before time?

我想知道当验证结束条件(不同于达到的正确迭代次数)时,是否可以在 C++ 中结束 for 循环。例如:

我知道这在 Perl 中是可能的,下一个 LABEL 或最后一个 LABEL 调用和标记的块,是否可以在 C++ 中做到这一点,或者我应该使用 while 循环?

谢谢你。

0 投票
7 回答
5518 浏览

python - 是否替换嵌套的 For 循环...

我有一个循环遍历一系列四个(或更少)字符串的脚本。例如:

如果能够使用嵌套的 for 循环来实现它,如下所示:

这种循环嵌套是一件坏事吗?如果是这样,完成我正在做的事情的更好方法是什么?

0 投票
2 回答
547 浏览

php - PHP 嵌套循环行为异常

我有一个数组,其中包含特定文章 ($link_cat) 的类别。然后,我使用 mysql_fetch_array 将所有可用的类别打印到带有复选框的列表中。在执行此操作时,我希望它将其所在的值与另一个数组中的值进行比较。如果匹配,则表示其中一个类别适用于这篇文章,它应该打印出一行代码来应用选中的属性。伟大的!除了它不工作=[

我以前从未真正做过嵌套循环(我怀疑这就是问题所在)。

问题似乎是,当它运行时, $link_cat[0] 将在其中检查第一个类别 - 没有注册。它出现空白。在 for 循环中打印出变量证实了这一点。任何其他 [1] [2] 等都可以。它只是 [0]。但为什么?这似乎没有任何意义。我知道里面有东西,因为我在填充数组时打印了它的内容,只是为了检查。然而,它不仅仅在循环期间显示。有任何想法吗?

0 投票
8 回答
488385 浏览

python - 打破嵌套循环

有没有比抛出异常更容易摆脱嵌套循环的方法?(在 Perl 中,您可以为每个循环指定标签,并至少继续一个外部循环。)

即,有没有比以下更好的方法:

0 投票
3 回答
6292 浏览

language-agnostic - 构造变量嵌套循环的好方法是什么?

假设您正在使用一种具有可变长度数组的语言(例如 with A[i]for all iin 1..A.length)并且必须编写一个例程,该例程采用n( n : 1..8) 可变长度数组中的可变长度数组n,并且需要调用每个可能长度n的项目数组,其中第一个是从第一个数组中选择的,第二个是从第二个数组中选择的,依此类推。

如果您想要将具体的东西可视化,请想象您的例程必须获取如下数据:

并进行以下过程调用(以任何顺序):

这有时被称为中文菜单问题,并且 for fixedn可以很简单地编码(例如 for n= 3,在伪代码中)

但是如果n可以变化,给出如下签名:

编写的代码包含一个丑陋的 case 语句,我用一个更简单的解决方案替换了它。但我不确定这是重构它的最佳(当然也不是唯一)方法。

你会怎么做?聪明和令人惊讶是好的,但清晰和可维护更好——我只是通过这段代码,不想被回调。简洁、清晰聪明将是理想的。

编辑:在其他人有机会回应之后,我将在今天晚些时候发布我的解决方案。

Teaser:我试图推销递归解决方案,但他们不接受,所以我不得不坚持在 HLL 中编写 fortran。

我选择的答案,发布在下面。

0 投票
2 回答
456 浏览

join - 如何在两个或多个嵌套循环中迭代连接数据?

前段时间我问了一个关于 SO 上的嵌套循环的问题,事实上,在我的示例的循环中存在查询,我得到了明确的答案:

永远不要将 SQL 查询放入循环中

从那以后我一直在尝试,而且大部分都有效。只需要努力并编写一个查询即可一次检索您需要的所有内容。

但是,当您有一个来自 JOIN 查询的数据集,其中包含您需要以嵌套方式输出的嵌套数据时,您会怎么做?

来自表 A 和 B 的连接示例:

好的,现在我将所有内容放在数组或行集中,现在我需要显示类似的内容:

水果

  • 黄色香蕉
  • 红苹果

动物

  • 黑白斑马
  • 灰象
  • 红狐

行星

  • 蓝色地球
  • 红色火星

似乎很明显它应该可以工作,但是我现在已经尝试过好几次了,但我就是想不出一个解决方案。

目前我这样做是我的老方法:

但是,嘿,永远不要将 sql 放入循环中。那我该怎么办?我做PHP,但我认为这是一个元问题。