问题标签 [iteration]

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 回答
23197 浏览

python - 将元组列表转换为字典

我有一个这样的元组列表:

我想通过第一项来遍历这个键控,所以,例如,我可以打印这样的东西:

如果不保留一个项目来跟踪第一个项目是否与我在元组周围循环的相同,我将如何去做呢?这感觉相当混乱(另外我必须从列表开始排序)......

0 投票
5 回答
8225 浏览

java - 原始数组的现代 for 循环

原始数组上的 for 循环之间是否存在性能差异?

认为:

或者 :

测试结果

我实际上分析了它:

所以现代循环实际上运行得更快,至少在我的 Mac OSX JVM 1.5 上是这样。

0 投票
8 回答
33681 浏览

c# - 如何在 C# 中迭代​​可枚举集合时修改或删除项目

我必须从数据表中删除一些行。我听说在迭代时更改集合是不行的。因此,我应该首先遍历数据表并将所有行添加到列表中,然后遍历列表并标记删除的行。这是什么原因,我有什么选择(而不是使用我的意思的行列表)?

0 投票
4 回答
6720 浏览

c# - 现有的类似于 Parallel.For 的 LINQ 扩展方法?

可能重复:
LINQ 等效于 IEnumerable<T> 的 foreach

用于 ienumerable 的 linq 扩展方法非常方便......但如果您只想对枚举中的每个项目应用一些计算而不返回任何内容,那么它就没有那么有用了。所以我想知道我是否只是错过了正确的方法,或者它是否真的不存在,因为如果它可用的话我宁愿使用内置版本......但我还没有找到一个:-)

我可以发誓在某个地方有一个 .ForEach 方法,但我还没有找到它。与此同时,我确实编写了自己的版本,以防它对其他人有用:

用法是:

myEnumerable.For<MyClass>(delegate(MyClass item) { item.Count++; });

0 投票
7 回答
2160 浏览

recursion - 易递归算法的迭代版本

我想我有一个很简单的问题。我有这个问题,可以用递归函数很容易地解决,但我无法迭代地解决。

假设您有任何布尔矩阵,例如:

男:

我知道这不是一个普通的布尔矩阵,但它对我的示例很有用。你可以注意到那里有某种零路径......

我想创建一个函数来接收这个矩阵和一个存储零的点,并将同一区域中的每个零转换为 2(假设矩阵可以存储任何整数,即使它最初是布尔值)

(就像在 Paint 或任何图像编辑器中绘制区域时一样)

假设我用这个矩阵 M 和右上角零坐标调用函数,结果将是:

好吧,我的问题是如何迭代地做到这一点......希望我没有把它搞砸太多

提前致谢!

曼努埃尔

ps:如果您能用 C、S、python 或伪代码显示该函数,我将不胜感激:D

0 投票
3 回答
4440 浏览

c++ - 迭代向量和调用函数

我有一个类,它具有另一个类对象的向量作为成员。在这个类的许多函数中,我必须对向量中的所有对象执行相同的操作:

我想简化代码,并找到一种不重复每个函数中的向量的方法。

我考虑过创建一个函数,它接收指向函数的指针,并在向量的每个成员上调用指向的函数。但我不确定在 C++ 中使用指向函数的指针是个好主意。

我也一直在考虑 functors 和functionoids,但它会迫使我为每个函数创建一个类,这听起来有点矫枉过正。

另一种可能的解决方案是创建一个接收字符串的函数,并根据字符串调用命令:

但它可能运行缓慢(不需要创建字符串而不仅仅是函数调用),并且如果函数具有不同的签名也会产生问题。

那么你会推荐什么?我应该让一切都和现在一样吗?

编辑:我只能使用 STL 而不能使用 boost(旧编译器)。

0 投票
1 回答
12070 浏览

groovy - 在 Groovy 中使用 findAll 集合闭包

我有一个需要使用 findAll 闭包的“Set”。Set 包含对象,而不仅仅是原始值。例如...我有一组员工对象,我需要通过员工的属性迭代和抓取该员工对象集的元素。

由于某种原因, findAll 闭包似乎只是忽略了我的关闭并返回一个空集。

这是我的语法;

0 投票
7 回答
71588 浏览

java - Java int[][] 数组 - 迭代和查找值

我有一个 ' ' 形式的数组,int[][]它代表一个小网格的坐标。每个坐标都被分配了自己的值。例如array[0][4] = 28……

我有两个问题。首先,我如何遍历所有存储的值。其次,我希望能够输入一个值并返回其在网格中的特定坐标。解决这个问题的最佳方法是什么?

感谢您的任何帮助!

0 投票
14 回答
11208 浏览

language-agnostic - 递归还是迭代?

我喜欢递归。我认为它简化了很多事情。另一个人可能不同意;我认为这也使代码更容易阅读。但是,我注意到递归在 C# 等语言中的使用不像在 LISP 中那样多(顺便说一下,由于递归,这是我最喜欢的语言)。

有谁知道是否有充分的理由不在 C# 等语言中使用递归?它比迭代更昂贵吗?

0 投票
6 回答
267369 浏览

javascript - 如何在 jQuery.each() util 中跳到下一次迭代?

我正在尝试遍历一组元素。jQuery 的文档说:

jquery.Each() 文档

返回非 false 与 for 循环中的 continue 语句相同,它将立即跳到下一次迭代。

我试过调用'return non-false;' 和“非假”;(无返回)两者都不会跳到下一次迭代。相反,他们打破了循环。我错过了什么?