首页 > 其他分享 >2024-03-29 js练习之生成多个数组,且每个数组内的值不能重复

2024-03-29 js练习之生成多个数组,且每个数组内的值不能重复

时间:2024-03-29 14:34:11浏览次数:19  
标签:03 appendChild 29 className Item let 数组 createElement document

代码:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>doubleBox</title>
    <style>
      html,
      body {
        padding: 0;
        margin: 0;
      }
      body {
        background-color: #f2f2f2;
      }
      div {
        align-items: baseline;
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        gap: 15px;
      }
      .itemBox {
        background-color: #fff;
        /* margin: 15px; */
        padding: 15px;
      }
      #box {
        margin: 15px;
      }
      span {
        margin-right: 6px;
        margin-bottom: 6px;
        color: #000;
        background-color: #f2f2f2;
        border-radius: 50%;
        width: 48px;
        height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        /* font-size: 16px; */
      }
      .title {
        width: 70px;
      }

      .blue {
        margin-left: 16px;
        /* background-color: #1890ff !important; */
      }
    </style>
  </head>
  <body>
    <div id="box"></div>
    <!-- <div>
      <div id="A"></div>
      <div id="B"></div>
      <div id="C"></div>
      <div id="D"></div>
      <div id="E"></div>
      <div id="F"></div>

      <div id="G"></div>
    </div> -->
  </body>
</html>
<script>
  // 生成随机数
  function lucky(n, m) {
    return (
      Math.floor(Math.random() * (Math.ceil(n) - Math.floor(m) + 1)) +
      Math.floor(m)
    );
  }

  // 生成随机数组
  function randomData() {
    const a = lucky(1, 33);
    const b = lucky(1, 33);
    const c = lucky(1, 33);
    const d = lucky(1, 33);
    const e = lucky(1, 33);
    const f = lucky(1, 33);

    if (new Set([a, b, c, d, e, f]).size !== 6) {
      console.log("存在重复,重新生成");
      return randomData(); // 切记这里不要写成this.randomData();否则会报错,因为this指向上下文的时候没有获取到期待值从而报错
    } else {
      return { a, b, c, d, e, f };
    }
  }

  var arr = [];
  // 生成字典
  function getZiDian() {
    for (let i = 0; i < 99; i++) {
      let { a, b, c, d, e, f } = this.randomData();
      let g = lucky(1, 12);
      console.log({ a, b, c, d, e, f });

      console.log(i);

      let Box = document.getElementById("box");

      let Item = document.createElement("div");
      Item.className = "itemBox";

      let T = document.createElement("i");
      let A = document.createElement("span");
      let B = document.createElement("span");
      let C = document.createElement("span");
      let D = document.createElement("span");
      let E = document.createElement("span");
      let F = document.createElement("span");
      let G = document.createElement("span");

      T.textContent = `第${i + 1}次`;
      T.className = "title";

      A.textContent = a;
      A.className = "item";
      A.style = "margin-left: 12px";

      B.textContent = b;
      B.className = "item";
      C.textContent = c;
      C.className = "item";
      D.textContent = d;
      D.className = "item";
      E.textContent = e;
      E.className = "item";
      F.textContent = f;
      F.className = "item";
      G.textContent = g;
      G.className = "blue";

      Item.appendChild(T);
      Item.appendChild(A);
      Item.appendChild(B);
      Item.appendChild(C);
      Item.appendChild(D);
      Item.appendChild(E);
      Item.appendChild(F);
      Item.appendChild(G);
      Box.appendChild(Item);

      arr.push({
        左: `${a},${b},${c},${d},${e}, ${f}`,
        右: g,
      });
    }
  }

  getZiDian();

  console.log("结果:", arr);
</script>

效果图:

 

标签:03,appendChild,29,className,Item,let,数组,createElement,document
From: https://www.cnblogs.com/iuniko/p/18103787

相关文章

  • 深痛教训——3.29
    死亡回放错误的L[++s]=R[s-1]+1;正确的s++;L[s]=R[s-1]+1;分析关于\(L[++s]=R[s-1]+1;\)这一行代码,表示的是将\(R[s-1]+1\)复制给\(L[++s]\),是从右往左执行的,也就是说在\(++s\)之前就已经计算了\(R[s-1]\),也就是说这个\(R[s-1]\)实际上表示\(R[s-2]\)......
  • 数组应用实例1 —— 三子棋
    数组应用实例1——三子棋文章目录数组应用实例1——三子棋一、标识符常量的定义和头文件的包含二、主函数`main()`三、测试游戏逻辑`test()`四、菜单界面`menu()`五、游戏实现`game()`六、初始化棋盘`InitBoard()`1函数原型2函数实现七、打印棋盘`DisplayB......
  • 数仓 - [03] 拉链表
      拉链表是一种特殊的数据结构,其应用场景十分广泛,主要如下:1、监控系统:拉链表可以完整地记录系统的运行状态,方便进行监控和分析。2、金融交易:在金融领域,拉链表可以记录每个交易的时间戳、交易金额、交易类型等信息,从而实现对金融风险的监控和控制。例如,可以通过拉链表查询某......
  • Uncaught (in promise) DOMException: Failed to execute 'setRequestHeader' on 'XML
    根据错误提示"Uncaught(inpromise)DOMException:Failedtoexecute'setRequestHeader'on'XMLHttpRequest':Theobject'sstatemustbeOPENED.",你遇到了一个错误,该错误表明在调用setRequestHeader方法时,XMLHttpRequest对象的状态必须是已打开(OPENED)的状态。解决此问......
  • AI预测福彩3D第21弹【2024年3月29日预测--第4套算法重新开始计算第7次测试】
       今天继续对第4套算法进行测试,测试的目的主要是为了记录统计两套方案的稳定性和命中率,昨天的第一套和第二套方案均已命中。今天是第7次测试,同样测试两个方案。废话不多说,直接上结果。     2024年3月29日福彩3D的七码预测结果如下    第一套:  ......
  • AI预测福彩3D第21弹【2024年3月29日预测--第5套算法开始计算第3次测试】
             今天,咱们继续进行本套算法的测试,今天为第三次测试,仍旧是采用冷温热趋势结合AI模型进行预测。好了,废话不多说了。直接上结果~    仍旧是分为两个方案,1大1小。        经过人工神经网络计算并进行权重赋值打分后,3月29日预测结果如下: ......
  • 8、.NET Core 实践 2024-03-29 11:44 CPU过高
    Windbg指令记录0:008>!runawayUserModeTimeThreadTime7:35c00days0:03:04.9538:111c0days0:03:01.6406:4d300days0:02:57.2815:84240days0:02:52.6400:6fe80days0:00:00.0312:6c280......
  • 3.29
    这几天GGrun兽性大发,D真和int_R都受到了非人的礼遇(指猜拳决斗)GGrun:来!进行决斗!(指猜拳)(猜拳输了)GGrun:hinhin,baby~~man~~(搓手,跃跃欲试)(但GGrun的主要攻击对象是CTH)二调下来了,被文化课薄纱了但GGrun这个出生数学考了149,在这里强烈谴责GGrun......
  • 2024.3.29每日一题
    一、现在运营想要查看用户在某天刷题后第二天还会再来刷题的平均概率。请你取出相应数据。思路1:1.先找到每个用户首次登录的时间first_day2.再找first_day+1=date思路2:1.先找出每个用户device_id在哪天date登录过了的,创建出两个这样的表2.联立这两个表3.t1.device_idt2......
  • 除自身以外数组的乘积 - LeetCode 热题 16
    大家好!我是曾续缘......