隨機生成一份試卷,試卷的種類分爲單選、多選、判斷三種題型。nodejs6.0 mysql

背景:從數據庫中,隨機生成一份試卷,試卷的種類分爲單選、多選、判斷三種題型。node

首先我須要生成隨機數id(在這以前我須要知道數據庫中各個題型的題數,這樣我才能設置隨機數),並依據生成的隨機數id,去查找對應的題目。而在js的數組操做中,有filter、splice、concat、every、find等等。我須要從數據庫中取出特定的數據,而我返回的是一組對象,那麼我須要過濾出特定的部分。數據庫

 

代碼以下:json

var danxuan = getRandomNum(danxuan_count,20);
var duoxuan = getRandomNum(duoxuan_count,5);
var panduan = getRandomNum(panduan_count,10);
將生成的隨機數存到example中,
var example = {danxuan:danxuan.sort(sortNumber),duoxuan:duoxuan.sort(sortNumber),panduan:panduan.sort(sortNumber)}
//查找數據庫models.Answer.findAll().then(function(result){    var danxuanList = result.filter(t => t.exampleType=="單選題");//nodejs6.0支持 =>    var duoxuanList = result.filter(t => t.exampleType=="多選題");    var panduanList = result.filter(t => t.exampleType=="判斷題");  //新建對象    var exampleList = {duoxuan:[],danxuan:[],panduan:[]};   //根據隨機生成的編號id,去各個list中找相應的數據    example.danxuan.forEach(function(i,v){            exampleList.danxuan.push(danxuanList[i]);    })    example.duoxuan.forEach(function(i,v){        exampleList.duoxuan.push(duoxuanList[i]);    })    example.panduan.forEach(function(i,v){        exampleList.panduan.push(panduanList[i]);    })    res.json(exampleList);//試卷生成完畢});
相關文章
相關標籤/搜索