从数组中获取随机值-Javascript
我有数组od值,我想从中随机抽取。这是我的代码:从数组中获取随机值-Javascript,javascript,arrays,math,random,Javascript,Arrays,Math,Random,我有数组od值,我想从中随机抽取。这是我的代码: var bonus1='Opony zimowe'; var bonus2='Alarm'; var bonus3 = 'Bagażnik'; var bonus4 = 'Relingi'; var bonus5 = 'Box na narty'; var bonusy = [bonus1, bonus2, bonus3, bonus4, bonus5]; var pickBonus= bonusy[Math.floor(Math.random(
var bonus1='Opony zimowe';
var bonus2='Alarm';
var bonus3 = 'Bagażnik';
var bonus4 = 'Relingi';
var bonus5 = 'Box na narty';
var bonusy = [bonus1, bonus2, bonus3, bonus4, bonus5];
var pickBonus= bonusy[Math.floor(Math.random() * bonusy.length)];
但它不显示随机值(其始终为console.log-‘报警’):
怎么了?从您的屏幕截图上可以看出,您基本上是在尝试多次打印相同的值,希望得到不同的值 它不起作用,每次都需要从数组中再次获取随机值。把它变成一个函数
var pickBonus= () => bonusy[Math.floor(Math.random() * bonusy.length)];
现在调用它作为
console.log( pickBonus() );
console.log( pickBonus() );
console.log( pickBonus() );
console.log( pickBonus() );
演示
var bonus1='Opony zimowe';
var bonus2='Alarm';
var bonus3='Bagażnik';
var bonus4=‘Relingi’;
var bonus5=‘盒子不存在’;
var bonusy=[bonus1,bonus2,bonus3,bonus4,bonus5];
var pickBonus=()=>bonusy[Math.floor(Math.random()*bonusy.length)];
log(pickBonus());
log(pickBonus());
log(pickBonus());
log(pickBonus())代码>从您的屏幕截图中可以看出,您基本上是在尝试多次打印相同的值,希望得到不同的值
它不起作用,每次都需要从数组中再次获取随机值。把它变成一个函数
var pickBonus= () => bonusy[Math.floor(Math.random() * bonusy.length)];
现在调用它作为
console.log( pickBonus() );
console.log( pickBonus() );
console.log( pickBonus() );
console.log( pickBonus() );
演示
var bonus1='Opony zimowe';
var bonus2='Alarm';
var bonus3='Bagażnik';
var bonus4=‘Relingi’;
var bonus5=‘盒子不存在’;
var bonusy=[bonus1,bonus2,bonus3,bonus4,bonus5];
var pickBonus=()=>bonusy[Math.floor(Math.random()*bonusy.length)];
log(pickBonus());
log(pickBonus());
log(pickBonus());
log(pickBonus())代码>pickBonus
在您的案例中应该是一个函数,而不是一个变量
然后,您可以运行这种类型的代码并始终获得随机值:
var bonus1='Opony zimowe';
var bonus2=‘报警’;
var bonus3='Bagażnik';
var bonus4=‘Relingi’;
var bonus5=‘盒子不存在’;
var bonusy=[bonus1,bonus2,bonus3,bonus4,bonus5];
函数pickBonus(){
返回bonusy[Math.floor(Math.random()*bonusy.length)];
}
log(pickBonus());
log(pickBonus());
log(pickBonus());
log(pickBonus())代码>pickBonus
在您的案例中应该是一个函数,而不是一个变量
然后,您可以运行这种类型的代码并始终获得随机值:
var bonus1='Opony zimowe';
var bonus2=‘报警’;
var bonus3='Bagażnik';
var bonus4=‘Relingi’;
var bonus5=‘盒子不存在’;
var bonusy=[bonus1,bonus2,bonus3,bonus4,bonus5];
函数pickBonus(){
返回bonusy[Math.floor(Math.random()*bonusy.length)];
}
log(pickBonus());
log(pickBonus());
log(pickBonus());
log(pickBonus())代码>替换最后一行
var pickBonus=bonusy[Math.floor(Math.random()*(bonusy.length-1))+1]
并将整个代码包装在一个函数中,以在每个函数调用中填充新的pickBonus
值替换最后一行
var pickBonus=bonusy[Math.floor(Math.random()*(bonusy.length-1))+1]
并将整个代码包装在一个函数中,以在每个函数调用中填充新的pickBonus
值您的代码工作正常,您只需反复打印相同的pickBonus
值。。。您需要运行Math.random()
部分,才能收到一个新值。@tipsfedora同样适用于我。也许您的代码中的其他地方有问题?您的代码工作正常,您只是一次又一次地打印相同的pickBonus
值。。。您需要运行Math.random()
部分,才能收到一个新值。@tipsfedora同样适用于我。也许代码中的其他地方有问题?