如何仅使用 Javascript 一次显示一个数组元素?

安德烈·安特夫斯基

我制作了一个 JavaScript 数组随机化器,它每隔一段时间显示一个元素。我想让它们在没有间隔的情况下一次显示一个,但带有按钮。当我单击按钮时,它将切换到下一个元素,但在此之前它保持不变。你能帮我做吗?

var numberStrings = ["One", "Two", "Three", "Four", "Five", "Six"];

var i = 0;
setInterval(function() {
  document
    .getElementById('numberList')
    .innerHTML = numberStrings[i++];
  if (i == numberStrings.length) i = 0;
}, 2000);

function shuffleUsingRandomSwapping(array) {
  var j, x, i = 0,
    len = array.length;
  for (i; i < len; i++) {
    j = Math.floor(Math.random() * len);
    x = array[i];
    array[i] = array[j];
    array[j] = x;
  }
}
<button onclick="shuffleUsingRandomSwapping(numberStrings);updateNumberList(numberStrings);">Shuffle Using Random Swapping</button>

<div id="numberList"></div>

瓦迪姆·萨文

var numberStrings = ["One", "Two", "Three", "Four", "Five", "Six"];

var curElement = 0;

function updateNumberList() {
  document
      .getElementById('numberList')
      .innerHTML = numberStrings[curElement++];
    if (curElement == numberStrings.length) curElement = 0;
}

function shuffleUsingRandomSwapping(array) {
  var j, x, i = 0,
    len = array.length;
  for (i; i < len; i++) {
    j = Math.floor(Math.random() * len);
    x = array[i];
    array[i] = array[j];
    array[j] = x;
  }
}
<button onclick="shuffleUsingRandomSwapping(numberStrings);updateNumberList(numberStrings);">Shuffle Using Random Swapping</button>

<div id="numberList"></div>

我不知道您的情况,但如果您只想在每次按下按钮时显示数组中的随机元素,则应该以更简单的方式完成,而无需重新排列数组。

var numberStrings = ["One", "Two", "Three", "Four", "Five", "Six"];

function displayRandomElem() {
  document
      .getElementById('numberList')
      .innerHTML = numberStrings[Math.floor(Math.random() * numberStrings.length)];
}
<button onclick="displayRandomElem()">Shuffle Using Random Swapping</button>

<div id="numberList"></div>

要以随机顺序显示值,以便它们不会重复,请使用下一个代码:

var numberStrings = ["One", "Two", "Three", "Four", "Five", "Six"];

function displayRandomElem() {
  if (numberStrings.length == 0) return;

  document
      .getElementById('numberList')
      .innerHTML = numberStrings.splice(Math.floor(Math.random() * numberStrings.length), 1);
}
<button onclick="displayRandomElem()">Shuffle Using Random Swapping</button>

<div id="numberList"></div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用按钮一次在Javascript中显示一个数组字符串

使用Unity中的GetKeyDown一次显示一个数组中的元素

使用JavaScript一次显示一个<p>

如何使用javascript一次关闭具有相同类的一个元素

如何一次只在一个数组元素上设置状态?

如何使用JavaScript仅选择一个li元素?

Javascript:一次在多个数组上使用 foreach

使用JavaScript一次为一个元素设置多个属性

addEventListener 只在 forEach 循环中的任何一个元素上使用一次 javascript

在Javascript中一次通过4个元素的集合循环遍历一个数组?

一次仅显示一个展开内容javascript显示带有切换的内容

如何基于JavaScript中另一个数组的索引从数组中选择元素?

JavaScript输出仅显示一次

使用Javascript遍历对象数组并一次仅显示对象属性

遍历<divs>数组,每次仅使用javascript显示一次

在待办事项列表中隐藏/显示不同的内容并使用 JavaScript 一次显示一个内容

使用一个数组的元素作为索引来创建新数组,以选择其他数组中的元素-JavaScript

如何将JavaScript中的多个数组与第一个元素合并

如何在Javascript中获取另一个数组中某个数组元素的数字出现次数?

如何使用Javascript根据另一个数组的相应元素的属性对数组进行排序?

如何将一个数组与另一个数组匹配,但将匹配的元素保存在JavaScript中

如何在JavaScript中将一个数组推入另一个数组元素内作为新属性?

如何将元素从一个数组复制到JavaScript中的另一个数组?

如何将一个数组的元素与Javascript中另一个数组的索引进行比较?

使用Javascript从另一个数组的每个元素中的结尾数字创建一个数组

我如何开发一个简单的网站,在 javascript 中每 3 秒显示一次肯定的肯定

使用 javascript 在元素内舍入一个数字

JavaScript如何从一个包含第二个数组的数组中删除元素

Javascript如何将一个新元素从初始数组推到相同索引的数组中的每个数组?