我正在使用 Adobe 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/