您能否让我知道如何从列表中随机选择一个数字,并在下次将其从数组中删除?例如,我有一个数组:
var items = new Array( 2,3,4,5,6,7,8,9,10 );
现在我想在按下 Pick 按钮时选择一个项目并将选取的值添加到 div 并从数组中删除选取的项目,因此在下一个 Pick 按钮按下它之前不会存在,直到选择所有项目。
谢谢你的时间
您能否让我知道如何从列表中随机选择一个数字,并在下次将其从数组中删除?例如,我有一个数组:
var items = new Array( 2,3,4,5,6,7,8,9,10 );
现在我想在按下 Pick 按钮时选择一个项目并将选取的值添加到 div 并从数组中删除选取的项目,因此在下一个 Pick 按钮按下它之前不会存在,直到选择所有项目。
谢谢你的时间
如果改组数组无关紧要:
items.sort(function() { return 0.5 - Math.random();}).pop();
编辑:
我可能应该更清楚一点,因为小提琴并没有真正利用洗牌。
数组只需要洗牌一次即可使其随机化,之后没有理由再次洗牌,只需弹出最后一个值:
var items = new Array( 2,3,4,5,6,7,8,9,10 );
items.sort(function() { return 0.5 - Math.random();})
$('#test').on('click', function() {
var ran = items.pop();
alert(ran ? ran : 'No more numbers in array');
});
var items = ["a","b","c","d"];
var randomIndex = Math.floor(Math.random() * items.length);
var randomItem = items.splice(randomIndex, 1)[0];
console.log("random item: %o", randomItem);
console.log("remaining items: %o", items);