我正在尝试使偶数出现乱码或随机出现任何想法?我尝试将其放入一个数组中,但是它变得太复杂,太快。
<html>
<head>
<script>
function printEvenNums()
{
var start = document.getElementById("start").value;
var end = document.getElementById("slut").value;
var evenNums = "<br>Jämna nummer:<br>";
for(i=start; i<=end; i++)
{
if(i % 2 == 0)
{
evenNums += i + "<br>";
}
}
document.getElementById("result").innerHTML = evenNums;
}
</script>
</head>
<body>
<h3>Grisen kan programera :)</h3>
Start: <input type="number" min="0" id="start" value="1" />
Slut: <input type="number" id="slut" min="1" value="20" />
<input type="button" onclick="printEvenNums()" value="Få fram jämna nummer" />
<div id="result"></div>
</body>
</html>
答案 0 :(得分:0)
在结果数组的随机位置插入偶数。
提示:
Math.random() * x
生成小于x
的随机数。Math.floor()
将随机数设为整数。splice()
,您可以将项目插入数组中所需的位置。
function printEvenNums() {
var start = parseInt(document.getElementById("start").value);
var end = parseInt(document.getElementById("slut").value);
var evenNums = "<br>Jämna nummer:<br>";
var evens = [];
for (var i=start+start%2, j=2; i<=end; i+=2, j++) {
let posi = Math.floor(Math.random()*j);
evens.splice(posi,0, i);
}
document.getElementById("result").innerHTML = evenNums+evens.join('<br>');
}
<html>
<head>
</head>
<body>
<h3>Grisen kan programera :)</h3>
Start: <input type="number" min="0" id="start" value="1" />
Slut: <input type="number" id="slut" min="1" value="20" />
<input type="button" onclick="printEvenNums()" value="Få fram jämna nummer" />
<div id="result"></div>
</body>
</html>
答案 1 :(得分:0)
考虑这是您的偶数数组
var array=[2,4,6,12,8,10];
此外,我还创建了一种用于生成范围内随机数的方法。来自here
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
使用以上
var randomArray=[];
while(array.length>0)
{
var random=getRandomInt(0,array.length-1);
randomArray.push(array[random]);
array.splice(array.indexOf(array[random]),1);
}
console.log(randomArray)
注意:这只是一种可用于随机化数组的算法。休息,您可以根据自己的需求进行更改