欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS實(shí)現(xiàn)隨機(jī)抽取三人

 更新時(shí)間:2019年11月06日 08:32:02   作者:ltjszmrx  
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)隨機(jī)抽取三人,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

因?yàn)閷?shí)驗(yàn)室每周需要三人來做報(bào)告,所以用JS來做一個(gè)隨機(jī)抽取的頁面。

首先,先說一下需求。研二同學(xué)共5人,一人是單獨(dú)的一組,研一同學(xué)共9人,同時(shí)九人分為三組。所以共八組,每周報(bào)告的三人從八組中抽取,這三人不能有兩人或者兩人以上在同一組。

程序思路1

1.將研一的三組建成三個(gè)小的數(shù)組,從這三個(gè)數(shù)組里每組隨機(jī)抽取一人;
2. 將第一步里抽取出來的三人和研二的五人放在一起,組成一個(gè)新的數(shù)組,在從中隨機(jī)抽取三人;
3. 若隨機(jī)抽取的三人存在上述情況,則返回第一步,重新隨機(jī)抽取,直到不存在第二步的情況,然后輸出;

程序思路2

將實(shí)驗(yàn)室所有人放在一個(gè)大的數(shù)組里,先從數(shù)組里隨機(jī)抽取三人;
將研一的三組建成三個(gè)小的數(shù)組,把隨機(jī)抽取出來的三人去循環(huán)判斷是否存在兩人或者兩人以上在同一組;

最后實(shí)現(xiàn)

本來以為思路一比較好做,做到后面發(fā)現(xiàn)判斷是否同一組再重新進(jìn)行函數(shù)運(yùn)行,總是出現(xiàn)問題,選出來的三個(gè)人通過for循環(huán)去判斷,理論可以但是卻不能實(shí)現(xiàn),還需要我再仔細(xì)想想。思路一程序如下

for (var i=0;i<3;i++) {
  index1 = Math.round(Math.random()*(array.length-1));
  value = array[index1];

  newarray.push(value);
  array.splice(index1,1);

  value ='';
 }
 console.log(newarray);

 for (var j =0;j<newarray.length;j++) {
  for (var m = 0; m < arr1.length; m++) {
   if (newarray[j] === arr1[m]){
    num1++;
   }
  }
  for (var n = 0; n < arr2.length; n++) {
   if (newarray[j] === arr2[n]){
    num2++;
   }
  }
  for (var o = 0; o < arr3.length; o++) {
   if (newarray[j] === arr3[o]){
    num3++;
   }
  }
 }
 btn.onclick = function (){


 var id = setInterval(frame,500);
 function frame() {
  if (!flag) {
   clearInterval(id);
   flag=true;
  } else {
   Begin();
   document.getElementById("name").innerHTML="";
   for (var i = 0; i < newarray.length; i++) {
    document.getElementById("name").innerHTML += newarray[i] + "</br> ";

   }
   flag=false;
   newarray=[];
  }
 }

}

這里面還是存在一些問題,思路二可以正常實(shí)現(xiàn),下面是思路二的程序:

function Begin() {
  num1 = Math.round(Math.random() * (arr4.length - 1));
  num2 = Math.round(Math.random() * (arr4.length - 1));
  num3 = Math.round(Math.random() * (arr4.length - 1));
  Begin2();
 }

 function Begin2() {
  var array = [];
  var arrayLast = [];
  if (num1 !== num2 && num1 !== num3 && num2 !== num3) {
   array.push(num1);
   array.push(num2);
   array.push(num3);
   for (var i = 0; i < array.length; i++) {
    if (typeof arr4[array[i]] === "string") {
     arrayLast.push(arr4[array[i]]);
    } else {
     var num4 = Math.round(Math.random() * (arr4[array[i]].length - 1));
     arrayLast.push(arr4[array[i]][num4]);
    }
   }
  } else {
   Begin();
  }

  console.log(arrayLast);
  document.getElementById("name").innerHTML="";
  for (var i = 0; i < arrayLast.length; i++) {
   document.getElementById("name").innerHTML += arrayLast[i] + "</br> ";
  }
 }

 btn.onclick = function () {
  Begin();

 }

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • XHTML-Strict 內(nèi)允許出現(xiàn)的標(biāo)簽

    XHTML-Strict 內(nèi)允許出現(xiàn)的標(biāo)簽

    XHTML-Strict 內(nèi)允許出現(xiàn)的標(biāo)簽...
    2006-12-12
  • JS函數(shù)修改html的元素內(nèi)容,及修改屬性內(nèi)容的方法

    JS函數(shù)修改html的元素內(nèi)容,及修改屬性內(nèi)容的方法

    下面小編就為大家?guī)硪黄狫S函數(shù)修改html的元素內(nèi)容,及修改屬性內(nèi)容的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-10-10
  • JavaScript股票的動(dòng)態(tài)買賣規(guī)劃實(shí)例分析上篇

    JavaScript股票的動(dòng)態(tài)買賣規(guī)劃實(shí)例分析上篇

    這篇文章主要介紹了JavaScript對(duì)于動(dòng)態(tài)規(guī)劃解決股票問題的真題例舉講解。文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • JavaScript數(shù)組的定義及數(shù)字操作技巧

    JavaScript數(shù)組的定義及數(shù)字操作技巧

    這篇文章主要介紹了JavaScript數(shù)組的定義及數(shù)字操作技巧的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • 簡單實(shí)現(xiàn)jQuery輪播效果

    簡單實(shí)現(xiàn)jQuery輪播效果

    這篇文章主要教大家如何簡單實(shí)現(xiàn)jQuery輪播效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • JavaScript使用Promise實(shí)現(xiàn)分批處理接口請(qǐng)求

    JavaScript使用Promise實(shí)現(xiàn)分批處理接口請(qǐng)求

    當(dāng)我們?cè)趯?shí)際項(xiàng)目中遇到需要批量發(fā)起上百條接口請(qǐng)求怎么辦呢,本文就來為大家介紹一下JavaScript如何使用Promise實(shí)現(xiàn)分批處理接口請(qǐng)求,需要的小伙伴可以參考一下
    2023-11-11
  • 微信小程序登錄與注冊(cè)功能的實(shí)現(xiàn)詳解

    微信小程序登錄與注冊(cè)功能的實(shí)現(xiàn)詳解

    在小程序的開發(fā)中,可能起點(diǎn)就是用戶的登錄與注冊(cè)了。和粉絲的互動(dòng)過程中發(fā)現(xiàn),對(duì)于用戶的登錄注冊(cè)還是沒有徹底掌握。我們本篇就來分析一下登錄與注冊(cè)如何實(shí)現(xiàn)
    2022-08-08
  • js 中獲取制定的cook信息實(shí)現(xiàn)方法

    js 中獲取制定的cook信息實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄猨s 中獲取制定的cook信息實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-11-11
  • JavaScript作用域示例詳解

    JavaScript作用域示例詳解

    作用域是JavaScript最重要的概念之一,想要學(xué)好JavaScript就需要理解JavaScript作用域和作用域鏈的工作原理。今天這篇文章對(duì)JavaScript作用域示例詳解的介紹,非常不錯(cuò),感興趣的朋友一起看下吧
    2016-07-07
  • JavaScript Date對(duì)象應(yīng)用實(shí)例分享

    JavaScript Date對(duì)象應(yīng)用實(shí)例分享

    這篇文章主要分享了JavaScript Date對(duì)象應(yīng)用實(shí)例,獲取日期時(shí)間,倒計(jì)時(shí)功能實(shí)現(xiàn),限時(shí)搶購活動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10

最新評(píng)論