创建随机电子邮件列表 - 如何输出列表



我写了一些函数来创建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>

你需要

重新定义循环中的counteraddress变量(如@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>

最新更新