js实现从长度为100的数组中随机抽取5个不同值

方法一:这个是我的方法,望大家指正……

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>从长度为100的数组中随机抽取5个不同值</title>
</head>
<body>
    <script>
        var arr = new Array(100);
        var flag_a = new Array(100);
        /*这个是特色。本身是想给数组每一个元素设置一个flag属性,但是行不通。所以就创建一个相同大小的布尔类型的数组*/
        for (var i = 0; i < arr.length; i++) {
            arr[i] = "这是第"+i+"个";
            flag_a[i] = false;
        }
        for (var i = 0; i < 5; i) {
            var r = Math.floor(Math.random()*100);
            if(!flag_a[r]){
                document.write(i+1+":"+arr[r]+"<br/>");
                flag_a[r] = true;
                i++;/*将i++放置到这个地方的话,我觉得挺有创意的……(*^__^*) 嘻嘻……*/
            }
        }
    </script>
</body>
</html>

方法二:这个方法跟上边的有异曲同工之妙,是别人想的,供大家参考……

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>从长度为100的数组中随机抽取5个不同值02</title>
</head>
<body>
    <script>
        var arr = new Array(100);
        for (var i = 0; i < arr.length; i++) {
            arr[i] = "这是第"+i+"个";
        }
        for (var i = 0; i < 5;) {
            var r = Math.floor(Math.random()*100);
            if(arr[r]!=null){
                document.write(i+1+":"+arr[r]+"<br/>");
                arr[r] = null;/*通过将使用过的设置为null来判断是否使用过,也很好……*/
                i++;
            }
        }
    </script>
</body>
</html>
时间: 2024-10-07 05:03:20

js实现从长度为100的数组中随机抽取5个不同值的相关文章

从数组中随机抽取一个值,(别人问我,我自己想到的一个方法)

今天本来在群里瞎扯淡的,突然看到有人问一个问题,大概意思是:怎么样从一个数组中随机抽取一个元素.当时我想到了PHP中有一个内置函数是打乱数组的顺序的.我就想用这个函数打乱一下,然后就抽取第一个元素. 代码如下: $array = array( 'das'=>array('id'=>1,'name'=>'于杭'), 'dasss'=>array('id'=>2,'name'=>'张三'), 'dass'=>array('id'=>3,'name'=>'李

PHP中如何在数组中随机抽取n个数据的值 - array_rand()?

PHP中如何在数组中随机抽取n个数据的值? 最佳答案 array_rand() 在你想从数组中取出一个或多个随机的单元时相当有用.它接受 input 作为输入数组和一个可选的参数 num_req,指明了你想取出多少个单元 - 如果没有指定,默认为 1.如果你只取出一个,array_rand() 返回一个随机单元的键名,否则就返回一个包含随机键名的数组.这样你就可以随机从数组中取出键名和值. 如下例所示: <?php $input = array("Neo", "Morp

面试题 一个长度为100的数组,随机插入1-100,不重复,写出大致思路即可;

之前回答的是: 定义一个长度为100的a数组,存1-100,每次从数组里随机的位置取一个元素,放入b数组,并且从a数组移除: 后来百度了一下,说是数组重新排列不够好,更好的做法是 每次将随机取到的数与数组 "最后一位" 交换: 想想还是有点道理,不用重新排列,而且不需要两个数组 <script> function fn(n) { var arr = []; for (var i = 0; i < n + 1; i++) { arr[i] = i + 1; } for

不使用循环,如何创建一个长度为100的数组

前言: 问题描述:在不使用循环的条件下,如何创建一个长度为100的数组,并且数组的每一个元素是该元素的下标? 这是一个比较经典的前端面试题,也可以当笔试题,咋一看,好像难度不大,实际上考察的知识点还不少,值得写篇文章来备忘!废话不多说,直接进入正文! 正文: 为了理解这道题的意思,我们先用传统的方法来实现一下: 使用for方法: var arr = new Array(100); for(var i=0;i<arr.length;i++){ arr[i] = i; } console.log(a

JS案例之8——从一个数组中随机取数

近期项目中遇到一个需求,从一个列表中随机展示列表的部分内容,需求不大,JS也非常容易实现.主要是运用到了Math对象的random方法,和Array的splice方法. 思路是先新建一个数组,存放所有的列表,然后算出随机数,从数组中取出这个随机索引对应的值,然后组成一个随机数组. 源代码如下: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" Conten

一个简单的算法,定义一个长度为n的数组,随机顺序存储1至n的的全部正整数,不重复。

前些天看到.net笔试习题集上的一道小题,要求将1至100内的正整数随机填充到一个长度为100的数组,求一个简单的算法. 今天有空写了一下.代码如下,注释比较详细: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Text.RegularExpressions; 6 7 namespace TestNumber 8 { 9 cl

JS从数组中随机取出几个数组元素的方法

原文链接:http://caibaojian.com/js-get-random-elements-from-array.html js如何从一个数组中随机取出一个元素或者几个元素. 假如数组为· var items = ['1','2','4','5','6','7','8','9','10']; 1.从数组items中随机取出一个元素 var item = items[Math.floor(Math.random()*items.length)]; 2.从前面的一篇随机数组中随机取几个元素

从一个数组中随机取出一定数量元素组成新数组

/** * 从一个数组中随机取出一定数量元素组成新数组 * @param array 一个String类型的数组 * @param number需要取出元素的数量 * @return 一个随机的数组 * @throws NullPointerException原数组不能为空 *@throws ArrayIndexOutOfBoundsException新数组长度应不大于原数组的长度 */ public static String[]  getRandomArray(String[] array,

array_rand() 从数组中随机取出一个或多个单元

array_rand() - 从数组中随机取出一个或多个单元 mixed array_rand ( array $input [, int $num_req = 1 ] ) 从数组中取出一个或多个随机的单元,并返回随机条目的一个或多个键. 参数 input: 输入的数组.必需.规定数组. num_req: 指明了你想取出多少个单元.可选.规定返回多少随机键名.如果指定的数目超过了数组里的数量将会产生一个 E_WARNING 级别的错误. 例子 1 从数组返回一个随机键: <?php $a=arr