我有一组值,我想从中取随机值。这是我的代码:

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-'Alarm'):
javascript - 从数组中获取随机值-Javascript-LMLPHP
怎么了?

最佳答案

从屏幕快照看来,您基本上是在尝试多次打印相同的值,而期望使用不同的值。

它不起作用,您每次都需要从数组中再次获取随机值。使其功能化

 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 = 'Box na narty';
var bonusy = [bonus1, bonus2, bonus3, bonus4, bonus5];
var pickBonus= () => bonusy[Math.floor(Math.random() * bonusy.length)];

console.log( pickBonus() );
console.log( pickBonus() );
console.log( pickBonus() );
console.log( pickBonus() );

09-25 15:05