如何对只有两个条目的数组运行 20 次循环?
我有以下代码
const genders = ['male', 'female'];
const randChoice = arr => {
return arr[Math.floor(Math.random() * arr.length)];
};
const loop = () =>
for (let i = ''; i <= 20; i++) {
const data = randChoice(genders);
if(data === 'male') {
const name = randChoice(maleNames);
people.push(new Data(data, name, lastName))
} else {
const name = randChoice(femaleNames);
people.push(new Data(data, name, lastName))
}
console.log('people', people)
return people;
我尝试过一些不同的事情,但从未让它工作并循环 20 次。
感谢您的所有回答。
但是让这个变得更复杂 在这种情况下。这行不通
最佳答案
错误出现在第 8 行,当你写 for (let i = ''; i <= 20; i++)
时,您需要首先将变量i设置为0,如下所示:for (let i = 0; i <= 20; i++)
.
循环的整个代码将是:
for (let i = 0; i < 20; i++) {
const data = randChoice(genders);
// here goes if else statement for gender
}
@Hasan Balcı 也指出了另一个错误,那就是在您的代码中,循环运行了 21 次而不是 20 次。为什么?因为变量i从0开始,循环运行直到达到20,包括它的值为20时!
要更正此问题,请不要写 for (let i = 0; i <= 20; i++)
,它必须是 for (let i = 0; i < 20; i++)
,改变i <= 20
至i < 20
!
希望这有帮助!
关于javascript - 对于具有两个条目的数组,循环将运行 20 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59106762/