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(`${arr0}`)

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

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

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

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

Console.log(`${newarr0}`)

//判断有多少列

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;

}
相关推荐
卓豪终端管理1 分钟前
【无标题】
java·服务器·前端
修炼的dance6 分钟前
一条命令查清 WebM 有没有透明通道,默认解码会骗你
前端
小灰灰搞电子10 分钟前
Rust+Slint 实现动态流光边框源码分享
开发语言·前端·rust·流光边框
niucloud-admin15 分钟前
NIUCLOUD PHP SAAS上门家政使用文档:机构报表
前端·人工智能
花间相见28 分钟前
【计算基础|Redis01】【上手】安装连接、配置与通用命令
数据库·后端·面试
枣把儿35 分钟前
开源!全套公众号写作、封面、发布自动化工具包!
前端·命令行
陶醉的松鼠38 分钟前
前端容易忽略的 debugger 调试技巧
前端
我命由我1234539 分钟前
6-3.Python 异常处理 - 异常处理进阶(else 块与 finally 块、异常传递、自定义异常)
开发语言·前端·数据库·后端·python·学习·java-ee
龙九山43 分钟前
我的 10 个 npm 插件,差点被 AI 判了死刑
前端·开源
深入云栈1 小时前
Netty 4.2.x 源码深度解析 (二十一):Pipeline 事件传播 —— Inbound 与 Outbound 的双向流转
java·后端·架构