javascript - 从数组中删除已选择的短语

标签 javascript arrays jquery-animate adobe

我正在使用 Adob​​e Animate CC 中嵌入的代码。效果很好。但我想让已经选择的系列从数组中删除,这样当我单击按钮时我总是选择一个新系列。我已经搜索了很多,但还没有找到任何有效的方法。谁能帮我吗?

这是代码:

var myShows = ['Bones', 'Psych', 'Big Bang Theory', 'Mad Men', 
'Breaking Bad', 'Modern Family', 'Game of Thrones', 'Dexter'];


this.knapp.addEventListener("click", playClicked.bind(this));
function playClicked() {
    var show = myShows[Math.floor(Math.random() * myShows.length)];
    this.tekst.text = show

}

最佳答案

按照这些思路应该可以工作。以下是我尝试将您的代码放回的尝试:

var allShows = ['Bones', 'Psych', 'Big Bang Theory', 'Mad Men', 
'Breaking Bad', 'Modern Family', 'Game of Thrones', 'Dexter'];
var currentShow = allShows[0]; //Just to initialize 


// Filter out the one you have selected
function getAvailableShows() {
  return allShows.filter(function(e) { return e !== currentShow })
}

function playClicked() {
  // make a pool - current one playing
  var availableShows = getAvailableShows(); 

  // choose one from random
  var show = availableShows[Math.floor(Math.random() * availableShows.length)]; 

  // update current show
  currentShow = show;

  // updae text
  this.tekst.text = show;
}

this.knapp.addEventListener("click", playClicked.bind(this));

这是一个代码笔,显示它通过控制台日志工作。 https://codepen.io/easement/pen/MbNwdw

关于javascript - 从数组中删除已选择的短语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41368864/

相关文章:

java - 我正在尝试根据图表值获取图表网页。但

javascript - 由于 setState 是异步的,按钮 onClick 是否有可能在被禁用之前触发两次?

javascript - Three.js computeCentroids 是做什么的?

javascript - 在 JQuery 中创建级联元素

arrays - bash脚本在expect代码中增加数组索引

java - 将整数对象转换为原始类型时遇到问题

java - 如何标记输出并去除零?

javascript - 检查元素是否正在动画 CSS3

ios - Swift Animate 背景不适用于 Collection View 单元格

javascript - 将div滑动到屏幕顶部