6-5 WPS JS宏 集合成员迭代(随机生成试题)

示例:随机生成试题

题库:

结果:

代码:

function 试卷(){

var arr=Sheets("题库").Range("a2:b21").Value();

var s=rnd(8,1,arr.length);

var num=1;

var newarr=[];

for(var v of s){

newarr.push([num++,...arr[v-1]]);

//重点:通过随机出来的数字,放入到数组arr[V]中代替索引号,找到数组。

//arr[v-1]为什么要-1,是因为索引号是从0-n,随机的数字是1-n,不匹配,所以要-1。

}

Sheets("试卷").Range("a2").Resize(newarr.length,newarr[0].length).Value2=newarr;

}

function rnd(counter,start,end){

var s=new Set();

if(end-start>=counter){

while(true){

var num=WorksheetFunction.RandBetween(start,end);

s.add(num);

if(s.size==counter){break};

}

}

return [...s];

}

javascript 复制代码
function 试卷(){

var arr=Sheets("题库").Range("a2:b21").Value();

var s=rnd(8,1,arr.length);

var num=1;

var newarr=[];

for(var v of s){

newarr.push([num++,...arr[v-1]]);

//重点:通过随机出来的数字,放入到数组arr[V]中代替索引号,找到数组。

//arr[v-1]为什么要-1,是因为索引号是从0-n,随机的数字是1-n,不匹配,所以要-1。



}

Sheets("试卷").Range("a2").Resize(newarr.length,newarr[0].length).Value2=newarr;

}







function rnd(counter,start,end){

var s=new Set();

if(end-start>=counter){

while(true){

var num=WorksheetFunction.RandBetween(start,end);

s.add(num);

if(s.size==counter){break};

}

}

return [...s];

}
相关推荐
是你的小橘呀6 小时前
React 组件通信:组件间的 "悄悄话" 指南
前端·javascript
ycgg6 小时前
Webpack vs Vite 根本设计原理深度解析:为什么两者差异这么大?
前端
xrkhy6 小时前
canal1.1.8+mysql8.0+jdk17+rabbitMQ+redis的使用02
前端·redis·rabbitmq
Han.miracle7 小时前
HTML 核心基础与常用标签全解析
前端·html
几何心凉7 小时前
AI推理加速:openFuyao算力释放的核心引擎
前端
小鸡吃米…7 小时前
Python PyQt6教程二-第一个工程
开发语言·python
程序媛青青7 小时前
Java 中 NIO 和IO 的区别
java·开发语言·nio
abcefg_h7 小时前
GO Web开发详细流程(无框架,restful风格,MVC架构)
开发语言·前端·golang