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

}
相关推荐
你怎么知道我是队长3 小时前
C语言---枚举变量
c语言·开发语言
李慕婉学姐3 小时前
【开题答辩过程】以《基于JAVA的校园即时配送系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·开发语言·数据库
吃茄子的猫3 小时前
quecpython中&的具体含义和使用场景
开发语言·python
web小白成长日记3 小时前
企业级 Vue3 + Element Plus 主题定制架构:从“能用”到“好用”的进阶之路
前端·架构
云栖梦泽3 小时前
易语言中小微企业Windows桌面端IoT监控与控制
开发语言
数据大魔方3 小时前
【期货量化实战】日内动量策略:顺势而为的短线交易法(Python源码)
开发语言·数据库·python·mysql·算法·github·程序员创富
APIshop3 小时前
Python 爬虫获取 item_get_web —— 淘宝商品 SKU、详情图、券后价全流程解析
前端·爬虫·python
风送雨4 小时前
FastMCP 2.0 服务端开发教学文档(下)
服务器·前端·网络·人工智能·python·ai
XTTX1104 小时前
Vue3+Cesium教程(36)--动态设置降雨效果
前端·javascript·vue.js
LYFlied4 小时前
WebGPU与浏览器边缘智能:开启去中心化AI新纪元
前端·人工智能·大模型·去中心化·区块链