首页 > 解决方案 > 在数组中选择一个随机短语

问题描述

有人可以解释为什么这对我不起作用吗?我有一个数组,我想从中选择一个随机字符串。不幸的是,当我执行它时它会随机选择一个短语,但是如果我再次运行它总是会选择相同的字符串?

let random = ['OMG...try again!', 'Try harder!', 'You can do better than you!', 'This is easy!', 'Too high!', 'Keep guessing']
let randomPick = random[Math.floor(Math.random() * random.length)];
console.log(randomPick);

这是我使用控制台进行测试时发生的情况。

在此处输入图像描述

标签: javascript

解决方案


let random = ['OMG...try again!', 'Try harder!', 'You can do better than you!', 'This is easy!', 'Too high!', 'Keep guessing']
let randomPick = random[Math.floor(Math.random() * random.length)];
console.log(randomPick);
console.log(randomPick);
console.log(randomPick);
console.log(randomPick);

您的代码功能工作得很好——但是当您再次运行最后一行时,您只是在打印一个变量,而不是再次运行随机选择。

console.log(randomPick);打印出 variable 的内容,该变量randomPick在您的数组中分配了一个随机元素,一次。


为了console.log(randomPick);每次都打印一个新短语,您需要转换randomPick函数而不是变量:

function randomPick() {
  let random = ['OMG...try again!', 'Try harder!', 'You can do better than you!', 'This is easy!', 'Too high!', 'Keep guessing'];
  return random[Math.floor(Math.random() * random.length)];
}
console.log(randomPick());
console.log(randomPick());
console.log(randomPick());
console.log(randomPick());


推荐阅读