在循环中多次重复数组中的项目?

Posted

技术标签:

【中文标题】在循环中多次重复数组中的项目?【英文标题】:Repeating items in an array multiple times in a loop? 【发布时间】:2012-12-13 21:47:39 【问题描述】:

我有一个包含 6 个字符串的数组,代表 html 图像标签。我有一些代码可以确定填充这些图像的空间量。

我正在使用一个循环,它可以很好地从这 6 个图像中提取并使用 1 个或全部 6 个。当我需要超过 6 个时,我的问题就出现了,这意味着一次又一次地遍历数组。我不确定如何最好地构建这个循环。目前我有

for (var i = 0; i < numAds ; i++) 
            $('#primary').append(adList[i]);
        ;

我尝试在 jquery 语句之前添加if (i &gt; adList.length) i=0 ,但后来我陷入了循环并导致浏览器崩溃。

我在这里错过了什么?

【问题讨论】:

【参考方案1】:

使用

$('#primary').append(adList[i % adList.length]);

% 是 modulus operator


但请确保adList 不为空,否则会导致i % adList.length 返回NaN崩溃 使adList[i % adList.length] 返回undefined 什么无论这可能带来什么副作用

【讨论】:

您也可以从循环中删除append 如果 i = 0 i % adList.length 不会导致 NaN @GabyakaG.Petrioli:是的,我弄错了i % 0 应该是NaN。对不起,我的错。 @FrançoisWahl i % 0 会被零除...显然这会导致NaN @Steve Modulus 是除法运算的余数。根据定义,这意味着返回值仅限于 0 和分母之间的值(从不等于分母)。

以上是关于在循环中多次重复数组中的项目?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用JavaScript将循环内数组中的所有项目相乘[重复]

我如何将一次出现的所有项目过滤到一个列表中,并将多次出现的所有项目过滤到另一个列表中?

我的 for 循环没有根据条件删除数组中的项目? Python [重复]

将数组中的所有项目设置为没有for循环c ++的数字[重复]

在for循环中使用拼接从数组中删除项目[重复]

C#在循环内多次重新初始化数组