JavaScript实现0-100间不重复随机抽取10个数的两种方法

作者:异步漫步时间:2026-10-29 22:21:11浏览:288

本文介绍两种在JavaScript中抽取0-100之间10个不重复随机数的方法。第一种利用数组sort()随机打乱后截断长度;第二种利用JSON对象Key值唯一性,通过循环生成并去重。包含完整HTML与JS代码示例,帮助开发者快速掌握相关编程技巧。

JavaScript随机抽取0-100不重复10个数方法

本文仅介绍两种基础实现方式,旨在协助读者完成从0到100范围内随机抽取10个不重复数字的任务,具体实现细节如下。

利用数组长度改写特性

第一种方法基于数组长度可修改的特性。

具体思路是:首先使用for循环生成0到100的整数并存入数组;接着利用sort()方法对数组进行随机排序;最后将数组的length属性直接修改为10,从而获取前10个互不相同的数字。


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script>
  var arr=[];
  for(var i=0;i<100;i++){//一个从0到100的数组
    arr.push(i);
  }
  arr.sort(function(){//随机打乱这个数组
    return Math.random()-0.5;
  })
  arr.length=10;//改写长度
  console.log(arr);//控制台会输出10个不同的数
  </script>
</head>
<body>
</body>
</html>

利用JSON对象Key值唯一性

第二种方法依赖于JSON对象Key值唯一这一特性。

实现思路如下:预先定义一个用于存储结果的空数组和一个空的JSON对象。


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script>
  //json对象,key值是唯一的,key值可以为数字
  var arr=[];
  var json={};
  while(arr.length<10){
    var k=Math.round(Math.random()*100);
    if(!json[k]){
      json[k]=true;
      arr.push(k);
    }
  }
  console.log(arr)
  </script>
</head>
<body>
  
</body>
</html>

希望上述内容能为各位学习JavaScript程序设计提供有益参考。

作者最新文章