首页 > 解决方案 > Math.random 在 while 循环中

问题描述

有人能帮我吗?我想制作一个简单的代码,其中 dom 从 0-14 生成一个随机数并将其添加到 ran 数组中,并且只有在 0-14 中的所有数字都在数组内时它才会停止。

function random () {
let ran = []
let dom = Math.floor(Math.random() * 15)
while (a != a.length(15)) {
   a.push(b)
   return a
 }
}

console.log(random)

标签: javascriptarrays

解决方案


逻辑。

  • random函数不断将随机数从 0-14 推送到ran数组
  • checkAllNumberpresent使用从 0 - 14 创建一个数字数组Array.from(Array(15).keys())
  • 此函数接受输入数组并检查输入数组中的任何数字是否在numberArray
  • 如果所有都存在,则函数返回false,这将停止 while 循环执行。

工作小提琴

function checkAllNumberpresent(arr) {
  const numberArray = Array.from(Array(15).keys());
  const missingNodes = numberArray.filter(item => arr.indexOf(item) === -1);
  return missingNodes.length == 0;
}
function random() {
  const ran = [];
  while (!checkAllNumberpresent(ran)) {
    let dom = Math.floor(Math.random() * 15);
    ran.push(dom)
  }
  return ran
}

console.log(random())


推荐阅读