问题标签 [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.
algorithm - 功能替代品?
当我继续学习函数式编程时,我开始怀疑是否有替代我默认的“过程”思维方式的替代方案。更具体地说,我正在查看我编写的函数。这是它的作用:
所以,现在我正在使用带有 accum 变量的标准循环*来执行上述操作。它工作得很好,而且在现实生活中迭代肯定没有错,但是由于这个练习的目的是扩展我的思维方式,我很好奇上述算法是否有更实用的方法。
谢谢!
*(实际上是递归,但无论如何)
c# - 如何在循环中更新 C# 哈希表?
我正在尝试在循环中更新哈希表,但出现错误: System.InvalidOperationException: Collection was modified; 枚举操作可能无法执行。
有没有办法解决它,或者可能有更好的数据结构来实现这个目的?
php - 如何存储和重置 PHP 数组指针?
我有一个关联数组,即
然后我做
问题是 IsPrime 还循环通过 $primes 数组,
这会破坏我正在迭代的数组指针。
我希望能够在 IsPrime() 函数中保存和恢复数组的内部指针,这样它就不会产生这种副作用。有没有办法做到这一点?
javascript - Javascript 循环中的事件处理程序 - 需要闭包吗?
我正在处理一些我从别人那里接手的 html 和 Javascript 代码。该页面每十秒重新加载一个数据表(通过异步请求),然后使用一些 DOM 代码重新构建该表。有问题的代码如下所示:
然而,当onchange
为一个元素触发事件<select>
时,似乎相同的值被传递给表中onStatusChanged()
每个的方法<select>
(我已经验证了在循环的每次迭代中,callid
并被anotherid
赋予了新的、不同的值)。
我怀疑这是因为我使用select.onchange = function()
语法设置事件处理程序的性质。如果我理解它是如何正常工作的,那么这个语法将 onchange 事件的闭包设置为一个引用这两个引用的函数,它们最终具有在循环的最后一次迭代中设置的任何值的最终值。callid
当事件触发时,和引用的anotherid
值是在最后一次迭代中设置的值,而不是在单个迭代中设置的值。
有没有办法可以复制我传递给的参数的值onStatusChanged()
?
我更改了标题以更好地反映问题和接受的答案。
c# - foreach 或 Repeater - 哪个更好?
我正在使用 MVC 在 ASP.Net 中构建一个网站,并且需要列出一组结果。以下两项都按我的意愿工作,但我想知道哪个更快,更清洁和/或更好 - 或者是否完全有另一种选择更合适?
注意:ViewData.Model
是类型IEnumerable<Thing>
,我需要显示更多的属性Name
- 我已经裁剪了这个例子的代码。
python - 在 Python 中创建对象列表
我正在尝试创建一个 Python 脚本来打开多个数据库并比较它们的内容。在创建该脚本的过程中,我在创建其内容是我创建的对象的列表时遇到了问题。
为了这篇文章,我已经将程序简化为最基本的内容。首先,我创建一个新类,创建它的一个新实例,为其分配一个属性,然后将其写入一个列表。然后我为实例分配一个新值并再次将其写入列表......一次又一次......
问题是,它总是同一个对象,所以我实际上只是在更改基础对象。当我阅读列表时,我一遍又一遍地重复相同的对象。
那么如何在循环中将对象写入列表?
这是我的简化代码
那么我如何(追加、扩展、复制或其他)simpleList 的元素,以便每个条目包含对象的不同实例,而不是全部指向同一个?
vba - 创建一个可变大小的组以在 Excel 2003 中循环的好方法是什么?
我有一个针对很多项目运行的程序,跳过某些不符合标准的项目。但是,然后我回去为一些在第一遍中错过的人运行它。我目前通过手动为每个人重新运行该过程来做到这一点,但理想情况下,我希望有一个更轻松的解决方案。
我的老板建议可能有效的方法是创建一个包含相关项目名称的列表(如在数据 -> 列表中),然后遍历该列表。可悲的是,我的帮助文件 fu 似乎让我失望了——我不知道我是否只是不知道要寻找什么,或者是什么。
运行“生成宏”命令显示首先创建列表的 VBA 是沿着 ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1"), , xlYes).Name = "List1"
不幸的是,我似乎无法弄清楚如何处理结果列表。我正在寻找沿线的循环
有什么建议么?
language-agnostic - 如何触发一个功能一次,而且只有一次......?
我经常只想触发某个函数一次,但我需要从另一个重复调用的函数中触发它。例如,拍摄某物的快照以备后用。我通常通过设置一个全局布尔值来做到这一点。
我想知道我这样做的方式是否实际上是最好的方式?
我似乎记得读过全局变量不好,全局布尔变量更糟!
无论如何,这就是我通常只完成一次触发某个方法的方式:
在我最初的一组变量中......
然后,在经常调用的函数中......
对我来说这似乎很合乎逻辑,但这是正确的吗?
更新:好吧,根据我从您的答案中学到的知识,我现在不是检查全局布尔变量,而是首先检查 XML 节点是否存在(在写入磁盘之前,我将图像存储在 XML 结构中),并且,如果不是,那么我将使用 base64 编码的图像数据附加一个新节点。我仍然设置了一个布尔标志,以便稍后我可以在需要时用用户编辑的图像数据覆盖空白图像。它完美地工作。感谢大家的帮助!
我现在也对在某些情况下使用该特定(线程不安全)系统感到更自在。
jquery - 为什么这个 Javascript (jQuery) 不进入无限循环?
我在Karl Swedberg 的博客上阅读了关于绑定和解除绑定事件的精彩文章(因为我是一个使用 jQuery 的 js 初学者),我对这部分代码完全感到困惑(为简洁起见):
为什么通过将相同的函数放在自身内部,它不会继续执行无限循环?但是,它用于将事件重新绑定到元素......!?
javascript - jQuery 闭包、循环和事件
我有一个与此处类似的问题:Javascript 循环中的事件处理程序 - 需要闭包吗?但我正在使用 jQuery,并且给出的解决方案似乎在绑定而不是单击时触发事件。
这是我的代码:
我尝试了几种不同的方法都没有成功...
最初的问题是 _this.Indicator.TrueImage 始终是最后一个值,因为我使用循环计数器而不是参数来选择正确的图像。