我正在尝试从数字数组(即cardNumbertemp)中返回一个随机数。
function cardRandomiser(){
randomCard = Math.floor(Math.random()*cardNumbertemp.length);
for (var i = 0; i < cardNumbertemp.length; i++){
if (randomCard === cardNumbertemp[i]){
cardNumbertemp.splice(i,1);
return randomCard;
}
}
}
此函数需要从数组中返回一个随机数(cardNumbertemp),然后从数组中删除该数。它可以工作,但是有时返回的是undefined。
答案 0 :(得分:1)
如果您希望获得一个随机数,则可以使用以下代码。理想情况下,除非您不想再有该号码,否则无需拼接。
var cardNumbertemp = [45, 78, 23, 89];
(function() {
console.log(getRandom());
})();
function getRandom() {
randomCard = Math.floor(Math.random() * cardNumbertemp.length);
return cardNumbertemp[randomCard];
}
答案 1 :(得分:0)
let cardNumbertemp = [45, 78, 23, 89];
for(let i = 0; i < cardNumbertemp.length + i; i++){
// will give you random number b/w 0 & (length of given array - 1)
let randomIndex = Math.floor((Math.random() * cardNumbertemp.length));
console.log(cardNumbertemp[randomIndex]); // output random array value
cardNumbertemp.splice(randomIndex, 1); // maintain unique random value
}