【发布时间】:2022-12-03 04:00:04
【问题描述】:
问题:
我在下面的代码中有两个函数。他们应该在 var amount 时间内从数组中随机选择一个。然后从数组中删除那个随机数。
2 个随机数的第一个函数有效,但第二个函数,小写字母,不。
我试过了:
我试着查看这两个函数,但它们对我来说看起来一样,只是变量不同......
(这是创建随机密码的代码的一小部分。)
// Needed vars
var numbersN = [
'0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9'
];
var lowercaseN = [
'a',
'b',
'c',
'd',
'e',
'f',
'g',
'h',
'i',
'j',
'k',
'l',
'm',
'n',
'o',
'p',
'q',
'r',
's',
't',
'u',
'v',
'w',
'x',
'y',
'z'
];
var allN = numbersN.concat(lowercaseN);
var password;
var extra_safe = true;
// function randomNumbers (Works!)
var amountNumbers = 2;
function randomNumbers (){
for (var a = 0; a < amountNumbers; a = a + 1){
var random = pickRandom(numbersN);
password = password + random;
if (extra_safe === true){
console.log(numbersN);
delete numbersN[random];
console.log(numbersN);
delete allN[random];
}
}
}
// function randomLowercase (Doens't work..)
var amountLowercase = 2;
function randomLowercase (){
for (var b = 0; b < amountLowercase; b = b + 1){
var random = pickRandom(lowercaseN);
password = password + random;
if (extra_safe === true){
console.log(lowercaseN);
delete lowercaseN[random];
console.log(lowercaseN);
delete allN[random];
}
}
}
// Runs function + TEST: prints numbersN before and after the working delete
randomNumbers();
// Runs function + TEST: prints lowercaseN before and after the failed delete
randomLowercase();
// TEST: prints allN, this should show all numbers and lowercase letters except the deleted randoms (It only works for the numbers.)
console.log(allN);
// prints the random numbers + lowercase letters
console.log(password.replace(/['undefined']/g, ''));
谢谢!
阿德里安五世
请注意,我是初学者,英语不是我的母语。对于拼写错误和我的简单代码,我深表歉意。请留下更好的标签等建议。
【问题讨论】:
-
欢迎来到堆栈溢出!这是您开始熟悉using a debugger 的好机会。当您在调试器中单步执行代码时,哪个操作首先会产生意外结果?该操作中使用的值是什么?结果如何?预期的结果是什么?为什么?要了解有关此社区的更多信息以及我们如何为您提供帮助,请从tour 开始并阅读How to Ask 及其链接资源。
标签: javascript function