这篇文章主要为大家详细介绍了 javascript 随机抽取 0-100 之间不重复的 10 个数,分享了两种简单办法,感兴趣的小伙伴们可以参考一下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
第一种利用数组长度可改写的特点
思路: 可以从 0 到 100 的数用 for 循环出来放在一个数组中, 然后将这 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 对象,
- <!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 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0301/266981.html