首页 新闻 会员 周边

请问此段 C# 代码用 Javascript 该如何写呢?

0
悬赏园豆:10 [已解决问题] 解决于 2020-08-13 14:54

请问此段 C# 代码用 javascript 该如何写呢?

	var random = new Random();
	var result = Enumerable.Range(1,20).Select(s=>random.Next(1,10000005)).Distinct();

image-20200813141341499

我问故我在的主页 我问故我在 | 初学一级 | 园豆:29
提问于:2020-08-13 14:15
< >
分享
最佳答案
1

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);

收获园豆:6
通信的搞程序 | 小虾三级 |园豆:1747 | 2020-08-13 14:43

感谢大神

我问故我在 | 园豆:29 (初学一级) | 2020-08-13 14:54

你这个没考虑重复的数吧

会长 | 园豆:12401 (专家六级) | 2020-08-13 15:11

@会长: Set 不就是去重的

通信的搞程序 | 园豆:1747 (小虾三级) | 2020-08-13 15:12

@通信的搞程序: 原来如此啊,我看错了。不过去掉重复不就不够20个了?

会长 | 园豆:12401 (专家六级) | 2020-08-13 15:14
其他回答(2)
1

20個不重複,1到10000005之間的隨機數?

收获园豆:4
RosonJ | 园豆:4910 (老鸟四级) | 2020-08-13 14:40

是!

支持(0) 反对(0) 我问故我在 | 园豆:29 (初学一级) | 2020-08-13 14:46

@我问故我在:

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);

借樓下的代碼,加上不重複處理

支持(0) 反对(0) RosonJ | 园豆:4910 (老鸟四级) | 2020-08-13 14:52

@RosonJ: 感谢大神

支持(0) 反对(0) 我问故我在 | 园豆:29 (初学一级) | 2020-08-13 14:54

@RosonJ: 唉,被你抢先一步

支持(0) 反对(0) 会长 | 园豆:12401 (专家六级) | 2020-08-13 15:12

@会长:
我本來想說就算了,想想還是有始有終
蹭到四顆哈哈哈

支持(0) 反对(0) RosonJ | 园豆:4910 (老鸟四级) | 2020-08-13 15:16
1
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
会长 | 园豆:12401 (专家六级) | 2020-08-13 15:10

您的答案更好!! 太早结帖了,抱歉...

支持(0) 反对(0) 我问故我在 | 园豆:29 (初学一级) | 2020-08-13 15:17

@我问故我在: 我不会JS,现百度的语法,所以慢了些,RossonJ的答案更好,比我写的简洁

支持(0) 反对(0) 会长 | 园豆:12401 (专家六级) | 2020-08-13 15:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册