在循环中多次重复数组中的项目?
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 > 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 [重复]