当索引大于数组长度时,Javascript 循环回到数组开头

2024-01-16

我一直在到处寻找解决方案,但我似乎无法在任何地方找到答案!也许我只是错误地表述了我的问题,但是如果索引大于数组长度,我如何循环回到数组的开头?请参阅下面我的代码的示例:

// Array of colours
let colours = ["#FFBE36", "#FF6447", "#77FF47", "#D547FF", "#FF9E47", "#47DBFF", "#FF4770"];

// For each pack, a background colour from the array above is assigned. 
// However, these are fetched from a database so could be more than the 
// length of the array
var packs = document.getElementsByClassName("pack-item");
for (var i = 0, len = packs.length; i < len; i++) {
    // Here if i is larger than colours.length, loop back to start of 
    // colours array, e.g colours[8] = "#FFBE36"
    packs[i].style.backgroundColor = colours[i];
}

我希望这是有道理的?如果您希望我以不同的措辞/更详细地解释,请告诉我!

谢谢 :)


您可以使用模运算符 (%) 来完成此操作,如下所示。这将使计数器保持正确的长度并且颜色保持有序。

// Array of colours
let colours = ["#FFBE36", "#FF6447", "#77FF47", "#D547FF", "#FF9E47", "#47DBFF", "#FF4770"];

// For each pack, a background colour from the array above is assigned. 
// However, these are fetched from a database so could be more than the 
// length of the array
var packs = document.getElementsByClassName("pack-item");
for (var i = 0, len = packs.length; i < len; i++) {
    // Here if i is larger than colours.length, loop back to start of 
    // colours array 
    packs[i].style.backgroundColor = colours[i % colours.length];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当索引大于数组长度时,Javascript 循环回到数组开头 的相关文章

  • For 循环覆盖 HTML 中的文本

    我的数组称为myEmployees其中有 5 个名字 但当我运行代码时 它只打印出其中的 3 个 我相信这种情况正在发生 因为for脚本中的循环会覆盖它在 HTML 文档中编写的前一行 我怎样才能解决这个问题 年度公告板公告 恭喜泰勒 你在
  • 从字符串中删除多个子字符串 - Java

    我需要从给定字符串中删除多个子字符串 例子 String exclude one two three String input if we add one and two we get three 我希望我的程序从输入字符串中删除所有出现的
  • JQuery:获取单选按钮值

    我有以下 HTML HTML
  • 数组是指针吗? [复制]

    这个问题在这里已经有答案了 数组和指针在 C 和 C 中的实现方式是否不同 我遇到过这个问题 因为在这两种情况下我们都从元素的起始地址访问元素 所以 他们之间应该有密切的关系 请解释一下它们之间的具体关系 谢谢 让我们先把重要的东西放在一边
  • jQuery:在 jQuery 对象中存储附加/额外的数据/信息?

    在 jQuery 对象中存储额外的数据是否可能且明智 现在我有包含一些数据的对象 但这些对象也有该数据的视觉表示 这可行 但我有很多代码来保持它们同步 例如 如果您从 dom 中删除一个对象 我还必须从对象数组中删除相关对象 删除相当简单
  • 如何在严格模式下设置元素样式属性?

    Given body document getElementsByTagName body 0 iframe document createElement iframe iframe src protocol settings script
  • 为什么 jQuery 的 .change() 事件仅在单击鼠标右键时触发?

    我在使用 jquery 时遇到了问题 change 当我修改输入元素时发生事件 据说 每当我对所述元素进行实时更改时 该事件就会触发 但就我而言 它仅在我按下右键单击按钮后才会触发 这是我的代码laravel框架 HTML div clas
  • 打印数组时出错

    我得到这个代码 import java util import java io public class Oblig3A public static void main String args OrdAnalyse O new OrdAna
  • 使用 javascript/jquery 检查 .css 样式表的名称

    我正在尝试为论坛制作一个小 chrome 扩展 但我只希望它在论坛的某个区域中工作 问题是我不能只做 matches subforum 因为该论坛中的线程无法通过 URL 区分它们所在的子论坛 subforum 有自己的 css 样式表 所
  • JavaScript:String 和 Array 上的 indexOf 方法的效率差异

    我很好奇效率是否存在差异indexOf两者都可用的方法Array and String在 JavaScript 中 我以为indexOf在 String 上的效率低于在 Array 上的效率 而我的new测试结果支持了这一点 例如 var
  • 如何在函数和循环中使用 data.table?

    在评估效用时data table vs dplyr 一个关键因素是在函数和循环中使用它的能力 为此 我修改了本文中使用的代码片段 data table 与 dplyr 一个可以做得很好而另一个不能做或做得很差吗 https stackove
  • 动态添加项目到放大弹出画廊

    有没有办法动态添加图库项目华丽的弹出窗口 http dimsemenov com plugins magnific popup 那已经开放了 或更新当前项目 找不到关于 in 的任何内容插件文档 http dimsemenov com pl
  • 有条件地使用 Node.js 提供两个 React 构建

    我有两个基于设备向客户端提供服务的 React 应用程序 我使用 Node js 和 Express 来实现这一点 我借了static资产处理部分来自这个问题在这里 https stackoverflow com questions 644
  • Javascript变量是一个对象数组,但无法访问元素

    我正在使用 Firebase 数据库和 Javascript 并且我有代码可以获取每个类别中的每个问题 我有一个名为 类别 的对象 其中包含名称 问题和问题计数 然后它将被推入类别列表 questionsPerCategory 在我刚刚做的
  • 有没有办法避开 Google 路线中的特定道路或坐标?

    API 有一个航路点参数 以便 API 计算经过指定航路点的路线 有什么方法可以给出要避开的航路点而不是要经过的航路点 它 目前 尚未实施 有一个开放的功能请求 问题 214 影响方向的能力 例如 避免 路障 https code goog
  • Origin 无权使用地理定位服务 - 即使通过 HTTPS

    我有一个通过 HTTPS 使用 HTML5 地理定位的网页 它在桌面浏览器上运行良好 然而 在 iOS Safari 上 我收到错误 Origin 无权使用地理定位服务 我已确保页面上的所有内容都通过 HTTPS 加载 每个图像 每个脚本和
  • 在不调用“then”的情况下解决 Promise

    我有这段代码 它是我为一个名为 Poolio 的 NPM 模块编写的小型 API 的一部分 对于那些支持错误优先回调和承诺的人来说 我遇到的问题似乎是一个常见问题 我们如何在支持两者的同时保持一致的 API 和 API 的一致返回值 例如
  • 如何在JAVascript中删除具有相同ID但display='block'和display='none'的div

    我有超过 1 个 div 具有相同的 id 但其中一个具有 display block 和其他人有显示 无 我想删除所有具有 display none 的 div 请告诉最简单的方法 文档中多个元素具有相同的 id 是违反 W3 标准的 请
  • 无法使用 javascript 建立与安全 Websocket 服务器的连接

    我的开发环境是这样的 操作系统 微软Windows 10 PHP 框架 Laravel 8 0 PHP 版本 7 4 Websocket 服务器 cboden ratchet 0 4 3 WAMP 服务器 3 2 0 Apache 2 4
  • Perl:散列 2 中数组的数值排序(施瓦茨变换)

    这实际上是该线程的后续内容 Perl 散列中数组的数字排序 https stackoverflow com questions 7914931 perl numerical sort of arrays in a hash 我无法编辑原始问

随机推荐

  • 我应该如何本地化现有的 JavaScript Web 应用程序?

    我有一项非常棘手的任务要做 有一个现有的 Web 项目 2 个 HTML 文件 一些插件和一个包含大约 2000 行代码的主要 JavaScript 文件 我现在必须对其进行本地化 毫无疑问 这应该早点考虑到 但他们只是错过了 您将如何寻找
  • 为什么 R 和 Python 之间得到不同的 RandomForest 结果?

    我正在尝试比较使用 R 和使用 Python 的随机森林模型的结果 我要比较的模型性能的关键衡量指标是 AUC ROC 曲线下面积 原因是 AUC 值代表预测值 即概率 的分布 我确实发现 R 和 Python 之间的 AUC 值存在一些显
  • 如何在不使用 Java 中的日历并且没有时间戳的情况下获取昨天的日期? [复制]

    这个问题在这里已经有答案了 我写了一个方法来获取当前日期的格式yyyy MM dd并希望能够创建另一种方法来获取昨天的日期 即当前日期的前一天 所有这些需要的是日期而不是时间戳 我不想使用Calendar以及 我这样设置当前日期 publi
  • phpmyadmin启用删除数据库语句

    我的托管提供商提醒我 我超出了 1000 桌限制 我有很多数据库 想一次删除更多 不幸的是 他们没有多选功能 所以我决定在 phpmyadmin 中使用查询 当我尝试类似的事情时DROP database some name I get D
  • 如何计算手机从静止状态到垂直方向的移动量?

    我正在使用 android 操作系统开发一个应用程序 我需要知道如何计算设备在垂直方向上的移动 例如 设备处于静止状态 A点 用户将其拿在手中 B点 现在A点和B点之间存在高度变化 我将如何计算 我已经阅读了有关传感器和加速度计的文章 但我
  • CodeBehind 中的动态上下文菜单

    我只想为我动态创建的几个对象添加 ContextMenu 但是 我发现的唯一方法是在运行时创建 ContextMenu 如下所示 ContextMenu pMenu new ContextMenu MenuItem item1 new Me
  • 如何在 Doxygen 示例中保留注释

    我有一个简单的方法 带有一条注释 我想在我的 doxygen 主页中用作示例 code void showNum int numToDisplay This is just a method to display a value std c
  • 有没有办法对打印媒体和默认布局使用相同的 CSS 样式表?

    我正在寻找一种方法 为打印媒体使用与默认屏幕布局相同的样式表 对我来说的好处是我不必每次更新 CSS 时都更新 2 个文件 我更喜欢有一个样式表 并通过以某种方式表示它们来指定印刷媒体的特殊规则 这可能是不可能的 但我想我应该把问题放在那里
  • Python - 解析 Json 和 XML 哪个更快? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 更改 php 中检索到的日期的时区

    我正在从数据库中检索格式为 2013 09 15 08 45 00 的日期 该日期是在 UTC 中设置的 我需要将其更改为另一个动态时区 基于用户 到目前为止我已经 datetime row gt field data field perf
  • 乌龟的笔触可以改变吗?

    我需要使用 Python 的海龟图形来绘制条形图 我认为简单地将笔做成粗正方形会更容易 这样我就可以像这样绘制条形图 而不必担心制作数十个矩形并填充它们 当我使用设置乌龟形状时turtle shape square 不过 它只会改变笔的外观
  • Pycharm Django 调试真的很慢

    我有一个中等大小的网站 但 PyCharm 需要大约 30 秒才能启动 Runserver 并准备好运行应用程序 如果我 运行 应用程序而不是 调试 则启动只需大约 3 秒 我可以做哪些事情来加快代码更改和调试周期 我使用的是带有 16Gb
  • Cassandra 节点几乎空间不足,但 Nodetool 清理正在增加磁盘使用?

    我们的一个节点的磁盘使用率为 95 我们向集群添加了另一个节点 希望能够重新平衡 但该节点上的磁盘空间并没有下降 我尝试执行nodetool cleanup 假设节点上有多余的键 但磁盘空间正在增加 清理真的会减少尺寸吗 是的 会的 但是您
  • 验证出生日期并检查年龄[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在我的表单中 我使用下拉菜单来显示日 月 年 你能帮我验证一下日期吗 我必须验证输入的年龄是否大于 15 岁 还要检查闰年等 PHP
  • 如何在react中不添加url的情况下导航到特定路线

    我在用着react router我有一些嵌套的路线 stories and stories storyId 现在我的问题是我有一个组件是一个单一的故事并使用这个特定的storyId导航至路线 stories storyId 单击它即可查看该
  • Asp.net Core 模型绑定器接受布尔类型的随机整数

    鉴于模型具有布尔属性 public class Person public string Name get set public bool IsMale get set 当尝试发布以下有效负载时 name Bob isMale 12345
  • 将数据帧添加到 Spark 中的列表

    我正在尝试创建 n dataframes根据一的数据 我正在检查 a 的整数值column in dataframe并循环创建 n 的sql语句dataframes像 一样多Integers在专栏中 这是我的代码 val maxvalue
  • 为什么使用带有硬编码种子的随机总是产生相同的结果? [复制]

    这个问题在这里已经有答案了 下面的简单 Java 程序使用了java util Random类 使其始终显示 hello world 代码片段如下所示 package nomain import java util Random final
  • 通过 ssh 在 Windows 上远程启动 matlab?不可能的?

    你好 我正在尝试通过与 Cygwin 一起安装的 OpenSSH 在 Windows 上远程运行 matlab 但是在没有 GUI 的情况下在 Windows 中启动 matlab 似乎是不可能的 如果我在本地登录 我可以启动 matlab
  • 当索引大于数组长度时,Javascript 循环回到数组开头

    我一直在到处寻找解决方案 但我似乎无法在任何地方找到答案 也许我只是错误地表述了我的问题 但是如果索引大于数组长度 我如何循环回到数组的开头 请参阅下面我的代码的示例 Array of colours let colours FFBE36