JS每隔1秒输出一组新的随机数

来源:互联网 发布:js跳出each循环函数 编辑:程序博客网 时间:2024/05/21 06:43
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS随机数</title>
<style type="text/css">
h1{text-align: center;}
p{ text-align: center; font-size: 36px;}
</style>
</head>


<body>
<h1>JS随机数</h1><hr />
<p id="conA"></p>
<p id="conB"></p>
</body>

<script type="text/javascript">


setTimeout(function(){ window.location.reload();},1000);//每隔1秒刷新1次页面

//Math.round() 把一个数字舍入为最接近的整数。
//math.random()取得某个范围内的随机数
var Array = [] || new Array();

var mupiao;
Array[0] = Math.round((Math.random()) * 10); //输出的值的范围  

for(var i = 1; i < 10; i++)  //输出的个数(这里是10个数)
{
mupiao = Math.round((Math.random()) * 10);
for(var a = 0; a < Array.length; a++) 
{
while(Array[a] == mupiao) 
{
mupiao = Math.round((Math.random()) * 10);
}
}
Array[a] = mupiao;
}

//用js对象的特性,如何去重复:
//第一步:把数组转成一个js对象。
//第二步:把数组中的值,变成js对象中的 key。
//第三步:把这个对象 再还原成数组。


//该方法把 组数 转为 对象
var toObject = function(arr)
{
var obj = {} //创建一个私有(在函数中)的对象

for(var i = 0; i < arr.length; i++)
{
obj[arr[i]] = true; //这样就把数组转为对象了(就是把循环出来的数组 放到 对象中)
}
return obj;
}

//该方法把 对象 转为 数组
var keys = function(obj)
{
var arr = []; //创建一个私有(在函数中)的数组
for(var i in obj)
{
if(obj.hasOwnProperty(i)) //判断这个属性是否属于obj的,注hasOwnProperty是js对象中的方法
{
arr.push(i);//把循环出来的对象追加到数组中
}
}
return arr;
}

//合并方法,去除数组中的重复项
var uniq = function(arrs)
{
return keys(toObject(arrs));//把数arrs放到toObject方法中,然后在把toObject方法入到keys方法中并返回,就OK了。
}


document.getElementById('conA').innerHTML = Array;//这是原来的随机数组

document.getElementById('conB').innerHTML = uniq(Array); //这是去重复后的随机数组

</script>


</html>
1 0
原创粉丝点击