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程序设计提供有益参考。
作者最新文章
JavaScript怎么遍历对象的Symbol键和不可枚举属性
2026-11-05 13:13:39
封装一个健壮的JS字符串判空工具函数
2026-11-05 12:16:14
JavaScript合并数组的三种常用方法:concat、扩展运算符与push
2026-11-05 11:22:29
JavaScript立即执行函数(IIFE)是什么及基本语法
2026-11-05 10:51:19
JS对象数组转字符串为什么推荐用JSON.stringify()
2026-11-05 09:40:31
