我写了一些函数来创建randoom电子邮件地址。接下来是将它们放在一个组合列表中,以及每个列表旁边的数字。该列表的长度应为 10 项。到目前为止,我设法得到的只是一个生成相同电子邮件*长度的列表。我应该怎么做?
这是到目前为止的代码:
function createRan(limit) {
var result = document.querySelector('#test');
var genEmail = ''
var num = 0
var suffix = '@gmail.com'
var suffix2 = '@hotmail.com'
var counter = Math.round(getRandomInt(0, 1))
var address = Math.random().toString(36).substr(2, 8);
while (num <= limit) {
if (counter === 0) {
genEmail = address + suffix
num++
result.innerHTML += `${num} ${genEmail} <br></br>`
} else if (counter === 1) {
genEmail = address + suffix2
num++
result.innerHTML += `${num} ${genEmail} <br></br>`
}
}
}
createRan(10)
function getRandomInt(min, max) {
return Math.random() * (max - min) + min;
}
<pre id="test"></pre>
function createRan(limit) {
var result = document.querySelector('#test');
var genEmail = ''
var num = 0
var suffix = '@gmail.com'
var suffix2 = '@hotmail.com'
while (num < limit) {
let counter = Math.round(getRandomInt(0, 1))
let address = Math.random().toString(36).substr(2, 8);
if (counter === 0) {
genEmail = address + suffix
num++
result.innerHTML += `${num} ${genEmail} <br></br>`
} else if (counter === 1) {
genEmail = address + suffix2
num++
result.innerHTML += `${num} ${genEmail} <br></br>`
}
}
}
createRan(10)
function getRandomInt(min, max) {
return Math.random() * (max - min) + min;
}
<pre id="test"></pre>
只需将地址插入循环即可。 您应该在每次迭代中创建一个新地址。
function createRan(limit) {
var result = document.querySelector('#test');
var genEmail = '';
var num = 0;
var suffix = '@gmail.com';
var suffix2 = '@hotmail.com';
var counter;
var address;
while (num <= limit) {
counter = Math.round(getRandomInt(0, 1));
address = Math.random().toString(36).substr(2, 8);
if (counter === 0) {
genEmail = address + suffix;
num++;
result.innerHTML += `${num} ${genEmail} <br></br>`;
} else if (counter === 1) {
genEmail = address + suffix2;
num++;
result.innerHTML += `${num} ${genEmail} <br></br>`;
}
}
}
createRan(10);
function getRandomInt(min, max) {
return Math.random() * (max - min) + min;
}
它生成相同的电子邮件,因为您的地址变量在循环之外,因此它只声明一次。您还可以通过使用 for 循环而不是 while 循环来简化代码。
function createRan(limit) {
var result = document.querySelector('#test');
var genEmail = ''
var suffix = '@gmail.com'
var suffix2 = '@hotmail.com'
for (let i = 1; i <= limit; i++) {
var address = Math.random().toString(36).substr(2, 8);
var counter = Math.round(getRandomInt(0, 1));
if (counter === 0) {
genEmail = address + suffix;
} else if (counter === 1) {
genEmail = address + suffix2;
}
result.innerHTML += `${i} ${genEmail} <br></br>`
}
}
createRan(10)
function getRandomInt(min, max) {
return Math.random() * (max - min) + min;
}
<pre id="test"></pre>
你需要
重新定义循环中的counter
和address
变量(如@ajxs所写):
function createRan(limit) {
var result = document.getElementById("test");
var genEmail = ''
var num = 0
var suffix = '@gmail.com'
var suffix2 = '@hotmail.com'
var counter
var address
while (num++ <= limit) {
counter = Math.round(getRandomInt(0, 1))
address = Math.random().toString(36).substr(2, 8);
if (counter === 0) {
genEmail = address + suffix
} else if (counter === 1) {
genEmail = address + suffix2
}
result.innerHTML += `${num} ${genEmail} <br></br>`
}
}
createRan(10)
function getRandomInt(min, max) {
return Math.random() * (max - min) + min;
}
<pre id="test"></pre>