js生成1-100不重复的随机数及生成10个1-100不重复的随机数

时间:2024-02-17 07:38:34
//生成1-100不重复的随机数
var count=100; var a=new Array();
for(var i=0;i<100;i++){
   a[i]=i+1;
}

a.sort(function(){
   return 0.5-Math.random();
})

for(var i=0;i<a.length;i++){
   document.write(a[i]+" ");
}

//生成10个1-100不重复的随机数
function random(number){
	var arr = []; 
	while(arr.length < number) {   //原数组长度为0,每次成功添加一个元素后长度加1,当数组添加最后一个数字之前长度为number即可
		var num = Math.floor(Math.random() * 100);   //生成一个0-300的随机整数
		if(arr.length === 0){   //如果数组长度为0则直接添加到arr数组
			arr.push(num);
		}else {
			for (var i = 0; i < arr.length; i++) {   //当新生成的数字与数组中的元素不重合时则添加到arr数组
				if (arr.join(\',\').indexOf(num) < 0) {
					arr.push(num);
				}
			}
		}
	}

	return arr;
}

var arrRandom = random(10);
console.log(arrRandom);