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];

}
相关推荐
踩着两条虫5 分钟前
VTJ.PRO AI + 低代码实战:接入高德地图
前端·vue.js·ai编程
绝世唐门三哥6 分钟前
React性能优化:memo、useMemo和useCallback全解析
前端·react.js·memo
咬_咬7 分钟前
go语言学习(数组与切片)
开发语言·学习·golang·数组·切片
兔子零10248 分钟前
Claude Code 都把宠物养进终端了,我做了一个真正能长期玩的中文宠物游戏
前端·游戏·游戏开发
xiaotao1319 分钟前
Vite 与 Webpack 开发/打包时环境变量对比
前端·vue.js·webpack
小陈工10 分钟前
Python Web开发入门(十八):跨域问题解决方案——从“为什么我的请求被拦了“到“我让浏览器乖乖听话“
开发语言·python·机器学习·架构·数据挖掘·回归·状态模式
m0_4972141511 分钟前
Qt事件系统
开发语言·qt
AI科技星11 分钟前
全维度相对论推导、光速螺旋时空与北斗 GEO 钟差的统一理论
开发语言·线性代数·算法·机器学习·数学建模
摆烂工程师14 分钟前
教你如何查询 Codex 最新额度是多少,以及 ChatGPT Pro、Plus、Business 最新额度变化
前端·后端·ai编程
赵优秀一一15 分钟前
Python 工程化基础1:环境(conda)、pip、requirements.txt
linux·开发语言·python