gpt4 book ai didi

javascript - 如何在 JavaScript/jQuery 中获取没有重复数字的随机数?

转载 作者:行者123 更新时间:2023-11-29 20:54:25 26 4
gpt4 key购买 nike

更新:数字可以从零开始。

我想要一个类似的功能

function getRandomNumber(n){
...
}

我希望它得到一个包含 n 位且没有重复位的数字。例如:

getRandomNumber(3) -> 152 is what I want.
getRandomNumber(1) -> 6 is what I want.
getRandomNumber(6) -> 021598 is what I want. It can start with zero.
getRandomNumber(5) -> 23156 is what I want.
getRandomNumber(3) -> 252 is not because it has two 2.
getRandomNumber(5) -> 23153 is not because it has two 3.

有什么简单的方法可以做到这一点?

最佳答案

在每次调用时,创建一个数字数组,然后重复选择随机值并将它们从所述数组中删除:

function getRandomNumber(n){
const digits = Array.from({ length: 10 }, (_, i) => i);
const result = Array.from({ length: n }, () => {
const randIndex = Math.floor(Math.random() * digits.length);
const digit = digits[randIndex];
digits.splice(randIndex, 1);
return digit;
});
return Number(result.join(''));
}


Array.from({ length: 10 }, () => console.log(getRandomNumber(8)));

关于javascript - 如何在 JavaScript/jQuery 中获取没有重复数字的随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50073055/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com