6-1WPS JS宏 new Set集合的创建

第6章JS集合与映射在 WPS的应用

6-1WPS JS宏 new Set集合的创建

new set:

集合就是一组值,与数组类似,但集合没有索引,没有顺序,不能重复(具有唯一性),会自动去除重复数据。

参数:var=new set(集合内容)

基础测试

function test(){

var s1=new Set();//空集合

//结果:s1=[0];Set/object

var s2=new Set(["a","b","c","b"]);//用数组构造成集合

//结果s2=[3];Set/object

var s3=new Set("aabbbcddff");//可迭代对象转换为集合

//结果s3=[5];Set/object

var s4=[...s3];//集合转换为数组

//结果s4=["a","b","c","d","f"];Array/object

var s5=[...new Set(["a","b","c","b"])];//集合转换为数组

//结果s5=["a","b","c"];Array/object

}

示例:

原数组与结果:

代码:

function test1(){

var arr=Range("b2:h4").Value();

Console.log(`${arr[0]}`)

//方法一:集合变为一维数组[]套一维数组[],在用join去除一个一维[].

//var newarr=arr.map(ar=>[[...new Set(ar)].join(",")]);

//方法二:集合变为一维数组[]套一维数组[],在用flat()打平变为一维数组[].

var newarr=arr.map(ar=>[[...new Set(ar)]]).flat();

Console.log(`${newarr[0]}`)

//判断有多少列

var nam=newarr.map(v=>v.length).reduce((x,y)=>x>y?x:y)

//自动选择区域写入数组内容

Range("a7").Resize(newarr.length, nam).Value2=newarr;

}

javascript 复制代码
function test1(){



var arr=Range("b2:h4").Value(); 

  Console.log(`${arr[0]}`)

//方法一:集合变为一维数组[]套一维数组[],在用join去除一个一维[].

  //var newarr=arr.map(ar=>[[...new Set(ar)].join(",")]); 

//方法二:集合变为一维数组[]套一维数组[],在用flat()打平变为一维数组[].

 var newarr=arr.map(ar=>[[...new Set(ar)]]).flat();



  Console.log(`${newarr[0]}`)

  

  //判断有多少列

  var nam=newarr.map(v=>v.length).reduce((x,y)=>x>y?x:y)



//自动选择区域写入数组内容

Range("a7").Resize(newarr.length, nam).Value2=newarr;

}
相关推荐
CDN36017 分钟前
排查实录:网站偶发502/504错误?360CDN回源超时配置与日志分析技巧
前端·数据库
之歆40 分钟前
Day07_CSS盒子模型 · 样式继承 · 用户代理样式
前端·css
DanCheOo1 小时前
AI 应用的安全架构:Prompt 注入、数据泄露、权限边界
前端·人工智能·prompt·安全架构
xiaoliuliu123451 小时前
WPS 2025 安装教程:自定义路径+办公套件(64位)
wps
We་ct2 小时前
深度剖析浏览器跨域问题
开发语言·前端·浏览器·跨域·cors·同源·浏览器跨域
weixin_427771612 小时前
前端调试隐藏元素
前端
永远不会的CC3 小时前
浙江华昱欣实习(4月23日~ 4月19日)
后端·学习
爱上好庆祝3 小时前
学习js的第五天
前端·css·学习·html·css3·js
C澒3 小时前
IntelliPro 产研协作平台:基于 AI Agent 的低代码智能化配置方案设计与实现
前端·低代码·ai编程
一袋米扛几楼984 小时前
【Git】规范化协作:详解 GitHub 工作流中的 Issue、Branch 与 Pull Request 最佳实践
前端·git·github·issue