马上期末汇报学期项目了,这个居然要随机点名汇报,突然想起是否可以使用筛选数据,批量抽取样本中数据进行排序!
说行动就行动,下面案例符合上述要求:
项目功能:导入需要抓取的样本放入数组,运行输入需要抽取样本数量,将每次的抽取样本push到选择样本,打印选中样本,ok!
项目代码
$(function(){
//arrs原标本
var arrs=Array('赵','钱','孙','李','周','吴','郑','王','冯','陈','褚','卫','蒋','沈','韩','杨','朱','秦','尤','许','何','吕','施','张');
//setarr选中的标本
var setarr=[];
var x=parseInt(prompt("请输入筛选同学的数目"));
if(x>arrs.length){
alert("对不起获取选中对象大于标本数目,请重新输入,当前标本最大数目:"+arrs.length);
}else{
//取的随机数
console.log("原始标本:"+arrs+"\n")
for(var i=0;i<x;i++){
var n=Math.floor(Math.random()*arrs.length);
//添加选中数组
setarr.push(arrs[n]);
//选中数组数据从原始数据删除
arrs.splice(n,1);
}
console.log("选中的同学:"+setarr+"\n");
console.log("去除后标本:"+arrs);
for(var m=0;m<setarr.length;m++){
$('h2').html("选中名单:"+setarr+",")
}
}
})
更多好玩项目请移至十月梦想的Github!
案例部分代码讲解:push()追加到目标元素到数组的头部(第一个元素)
splice(start,length)删除数组指定元素,start(开始位置从0开始),length(删除长度)