问题是我想通过循环从数组中获取随机值,直到它们用完。
所有的数组一共有7个值,最后我想要实现的是自动获取这些值的组合,以同样的方式生成句子。
我想要的是对那些颜色、国家和天数进行随机排序。
这是用于其价值的循环:
var colours = ["White", "Red", "Black", "Purple", "Grey", "Yellow", "Blue"];
var countrys = ["Japan", "Korea", "Spain", "England", "China", "Singapur","Rumania"];
var days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"];
for (var n = 0; n < colours.length; n++) {
document.write("My " + (n+1) + " choice is " + colours[n] + " in " + countrys[n] + " on " + days[n] + "<br>");
}
您可以确定在执行循环时,它会从每个数组中获取随机元素,例如:
colours[Math.floor(Math.random() * colours.length)]
,你会从数组中得到一个随机元素colours
。这将是一个完整的例子:
您可以创建一个随机化数组的方法,然后按照您的操作显示它们。
这样,您可以确保获得所有值的组合,而无需重复它们。
您可以随机排序数组,而不是随机选择选项并
eg: shuffle
控制它们不重复为此,您可以使用
Fisher–Yates shuffle algorithm
.示范:
另一个使用原型的例子