gpt4 book ai didi

javascript - 随机ID功能。通过 prompt() 得到 ID 的长度和 Id 的数量

转载 作者:行者123 更新时间:2023-12-05 05:30:27 25 4
gpt4 key购买 nike

我尝试构建一个函数,该函数应该输出 x 数量的 id 和 y 长度。 IDs的数量和Ids的长度由用户通过提示输入。

这是我到目前为止尝试过的:

function userIdGenerator() {
let amountOfId = prompt('Please enter the amount of IDs')
let lengthOfId = prompt('Please enter the lenght of your ID(s)')
let userId = ''
let userIds = []
let stringValues ='ABCDEFGHIJKLMNOabcdefghijklmnopqrstuvwxyzPQRSTUVWXYZ0123456789'
let numOfChar = stringValues.length

for(let i = 0; i < amountOfId; i++){
for(let i = 0; i < lengthOfId; i++){
if( i< lengthOfId ){
userId += stringValues.charAt(Math.round(Math.random() * numOfChar))
}else{
userIds.push(userId)
}
}
}
console.log(userIds)
}

我得到一个空数组作为输出。当我删除 else 语句和 console.log(userId) 时,我得到一个长度为 x*y 的字符串,所以我想知道如何改进这个函数。

谢谢你的帮助,

威利

最佳答案

我在评论中更改了一些内容。

function userIdGenerator() {
let amountOfId = prompt('Please enter the amount of IDs')
let lengthOfId = prompt('Please enter the lenght of your ID(s)')
let userId = "";
let userIds = [];
let stringValues =
"ABCDEFGHIJKLMNOabcdefghijklmnopqrstuvwxyzPQRSTUVWXYZ0123456789";
let numOfChar = stringValues.length;

for (let i = 0; i < amountOfId; i++) {
// you need to reset the userId each time you're starting to build a new one, otherwise that's why you'd get a string that has the lenght of x*y
userId = "";
for (let i = 0; i < lengthOfId; i++) {
// there is no need for a if statement on i < lengthOfId, since by definition of your for loop, it's gonna stop before it's the case.
userId += stringValues.charAt(Math.round(Math.random() * numOfChar));
}
// you need to push only once you're done adding all the characters
userIds.push(userId);
}
console.log(userIds);
}

关于javascript - 随机ID功能。通过 prompt() 得到 ID 的长度和 Id 的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74664792/

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