gpt4 book ai didi

javascript - 如何检查生成的号码是否已存在

转载 作者:行者123 更新时间:2023-12-01 00:38:10 26 4
gpt4 key购买 nike

下面的代码创建一个随机客户编号并使用简单的控制台日志将其打印出来,但缺少一个功能:它应该检查之前是否已生成相同的客户编号/ID。如果是这样,它应该再次遍历该过程,因此会生成一个新的随机数,该随机数是唯一的。我怎样才能用这段代码做到这一点?不幸的是,作为一名编程新手,我不知道如何做到这一点。也许是一个 while 循环并将生成的数字存储在变量中?如果您可以提供代码,与我的代码相结合或构建重复检查功能,那就太棒了。

    function generateCostumerNum() {

// generating a random 8-digit number with numbers from 1 to 9
var zeroToNine = "";
for (counter = 0; counter <= 7; counter++) {
var randomNumber = Math.floor(Math.random() * 9) + 1;
zeroToNine += randomNumber;
}

// calculating the cross-sum of the generated number above
var numberforCrossSum = zeroToNine,
crossSum = 0;

while (numberforCrossSum) {
crossSum += numberforCrossSum % 10;
numberforCrossSum = Math.floor(numberforCrossSum / 10);
}

// building together the final costumer ID string.
var finalCostumerNum = "ID" + zeroToNine + crossSum;

console.log(finalCostumerNum);
};

generateCostumerNum();

最佳答案

您可以使用一个简单的 while 循环,只要生成的数字已经生成,该循环就会运行:

var already_generated_nums = []; // an array of the numbers already generated
//...
var new_num = generateCostumerNum();

while (already_generated_nums.includes(new_num)) {
new_num = generateCostumerNum();
}

already_generated_nums.push(new_num);

关于javascript - 如何检查生成的号码是否已存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57927256/

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