【发布时间】:2017-01-03 18:10:48
【问题描述】:
我想创建一个项目列表,其中项目是随机选择的,每个项目都是从不同的组中选择的。我对此很陌生,但这段代码似乎可以做到这一点。
<html>
<body>
<p>Random items from three different groups:</p>
<script type="text/javascript">
<!--
document.write('<ol>');
// first group
var first_group = new Array ();
first_group[0] = "one";
first_group[1] = "two";
first_group[2] = "three";
var i = Math.floor(3*Math.random())
document.write('<li>' + first_group[i]);
// second group
var second_group = new Array ();
second_group[0] = "three";
second_group[1] = "four";
second_group[2] = "five";
var i = Math.floor(3*Math.random())
document.write('<li>' + second_group[i]);
// third group
var third_group = new Array ();
third_group[0] = "five";
third_group[1] = "six";
third_group[2] = "seven";
var i = Math.floor(3*Math.random())
document.write('<li>' + third_group[i]);
document.write('</ol>');
//-->
</script>
</body>
</html>
是否可以修改代码,以便即使相同的项目出现在多个组中,同一项目也不能在最终列表中出现多次? (例如,如果从第一组中选择“三”,则不能从第二组中选择。)是否可以让最终列表以随机顺序排列?也欢迎对其他改进提出任何建议。
【问题讨论】:
-
为所有 3 个结果创建一个数组。在第一个之后做一段时间检查这个新数组是否包含选择的答案,直到它没有你去第三组。
-
为了您的输出,为什么要设置三个组?您可以将它们组合成一个对象并消除重复项吗?见stackoverflow.com/questions/30025965/….
-
@Sablefoste 最终代码将用于为学生设置测试。这些小组将帮助确保对材料的均匀覆盖(关于同一主题的问题不要太多)。
标签: javascript html arrays