显示来自 for 循环的数组内容

Posted

技术标签:

【中文标题】显示来自 for 循环的数组内容【英文标题】:Display array content from a for-loop 【发布时间】:2017-03-26 14:08:14 【问题描述】:

我正在尝试显示 randomTable 中的一个数字,持续 8 秒,1by1。可悲的是它根本没有显示任何东西。

    var numberTable = [];
    var randomTable = [];

    $('#pooling').append('<div id="box"> </div>');

    for (var i=1;i<=32;i++) 
        numberTable.push(i);
    

    for (var i=0;i<8;i++) 
        (function (e) 
            randomTable.push(1 + Math.floor(Math.random() * (32 - e)));
            numberTable.splice(e,1);
            $('#box').replaceWith('<div id = "box>' + randomTable[e] + '</div>');
            $('#box').show(0).delay(8000).hide(0);
        )(i);
    

当我删除第二个 for 循环时,它会显示空的#box,但是使用这个循环它根本不会创建这个 div。可能是什么问题?

【问题讨论】:

【参考方案1】:

目前尚不清楚您的意图是什么,但也许这会有所帮助:

var numberTable = [];
var randomTable = [];
for (var i = 1; i <= 32; i++) 
  numberTable.push(i);

for (var i = 0; i < 8; i++) 
  randomTable.push(1 + Math.floor(Math.random() * (32 - i)));
  numberTable.splice(i, 1);

console.log("randomTable: " + randomTable);

$('#box').text(randomTable[0]);
var x = 1;
function repeat()
  window.setTimeout(function()
    if (x < 8) 
      $('#box').text(randomTable[x]);
      x++;
      repeat();
    
  ,8000);
;
repeat();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="box"></p>

【讨论】:

看起来不错,但我的观点是我想将它作为 html 元素运行。这里我们使用控制台。 @ClassicError 我的代码示例仅将创建的随机数组记录到控制台。号码本身附加到$('#box')。您只需根据自己的需要进行调整。我的意思只是展示如何每 8 秒从随机数组中获取下一个值。【参考方案2】:

首先 - replaceWith 调用中缺少一个 "

第二 - 使用这种方法,您应该始终只得到一个 div (id=box),因为您在每次迭代中使用 replaceWith 覆盖它 - 您可以像这样使用附加和后缀 id:

$('#box').append('&lt;div id="box-' + e '"&gt;' + randomTable[e] + '&lt;/div&gt;')

或完全保留id 并改用一个类 - 正如名称所暗示的那样 - 文档中应该只有一个具有相同 id 的元素。

提供您的 html 标记愿望,如果这不适合。

【讨论】:

感谢您的回答!还是行不通。我将 ID="box" 更改为 class= "box" - 第一个数字显示 8 秒并隐藏。此后没有任何事情发生(检查员:21)。当我用新的 ID 元素替换旧的 ID 元素时,类和 ID 之间真的有区别吗?仍然是 ID 的一个元素。

以上是关于显示来自 for 循环的数组内容的主要内容,如果未能解决你的问题,请参考以下文章

来自对象键和嵌套数组的 Vue.js v-for 循环

Bootstrap-Vue 分页未在屏幕上显示更新的切片数组内容

Django、模板、for 循环和循环

For循环遍历数组仅显示最后一个值

(8)VUE数组循环渲染图片不显示问题

循环遍历数组中的对象,显示来自 JSON 的数据