【问题标题】: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 },但后来我陷入了循环并导致浏览器崩溃。

我在这里错过了什么?

【问题讨论】:

    标签: javascript jquery arrays loops for-loop


    【解决方案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 和分母之间的值(从不等于分母)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-12
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    相关资源
    最近更新 更多