请问此段 C# 代码用 javascript 该如何写呢?
var random = new Random();
var result = Enumerable.Range(1,20).Select(s=>random.Next(1,10000005)).Distinct();
function getRandom1(min, max){
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
}
var arr = [];
for (var i = 0; i < 20; i++) {
var num = getRandom1(1, 10000005);
num = parseInt(num, 10);
arr.push(num);
}
arr=Array.from(new Set(arr));
console.log(arr);
感谢大神
你这个没考虑重复的数吧
@会长: Set 不就是去重的
@通信的搞程序: 原来如此啊,我看错了。不过去掉重复不就不够20个了?
20個不重複,1到10000005之間的隨機數?
是!
@我问故我在:
function getRandom(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var arr = [];
while (arr.length < 20) {
var num = getRandom(1, 10000005);
num = parseInt(num, 10);
if (!arr.includes(num)) {
arr.push(num);
}
}
console.log(arr);
借樓下的代碼,加上不重複處理
@RosonJ: 感谢大神
@RosonJ: 唉,被你抢先一步
@会长:
我本來想說就算了,想想還是有始有終
蹭到四顆哈哈哈
let get20Numbers = function(min, max, count){
let array = [];
let num = 0;
while(true){
num = parseInt(Math.random()*(max-min+1)+min,10);
if(array.indexOf(num) != -1){
continue;
}
else{
array.push(num);
if(array.length === count){
break;
}
}
}
return array;
}
console.log("aaaaa");
let result = get20Numbers(1, 10000005, 20);
console.log(result);c
您的答案更好!! 太早结帖了,抱歉...
@我问故我在: 我不会JS,现百度的语法,所以慢了些,RossonJ的答案更好,比我写的简洁