- 博客(105)
- 收藏
- 关注
原创 6-12 WPS JS宏 Map实例1--按字段分组求和
本文展示了WPSJS宏中使用Map对象实现按字段分组求和的方法。代码通过遍历二维数组(A2:B10区域数据),利用解构赋值获取每行的name和score值,使用Map对象进行分组累加计算,最终将结果输出到D2起始区域。核心特性是解构赋值会根据二维数组的列数自动匹配变量个数。该方法简洁高效地实现了数据分组统计功能,适用于WPS表格数据处理场景。
2025-12-25 13:54:01
28
原创 6-11 WPS JS宏 keys、values、entries映射中键值的循环与数组转换
本文介绍了WPSJS宏中Map对象的键值循环与数组转换方法。通过keys()、values()和entries()方法可分别循环映射中的键、值及键值对,使用扩展运算符[...map.method()]可将它们转换为数组。测试代码展示了具体实现:keys()获取键数组,values()获取值数组,entries()获取键值对数组,forEach也可实现类似功能。其中,直接使用[...map]与[...map.entries()]效果相同。这些方法为处理映射数据提供了灵活的操作方式。
2025-12-25 13:50:22
137
原创 5-41 WPS JS宏 数组迭代基础测试与双数组迭代的使用方法测试
本文介绍了JavaScript数组迭代方法的基础测试与组合使用。基础测试部分演示了map、filter、find、reduce、every和some等迭代方法的应用场景及注意事项,如map转换数组元素、filter筛选符合条件元素、find查找特定元素等。组合使用部分展示了map与find、map与filter、map与some的组合应用,通过这些组合可以更灵活地处理数组数据,实现查找匹配元素、筛选符合条件的数据集以及验证元素存在性等功能。文章通过具体代码示例展示了各种迭代方法的使用方式和输出结果。
2025-12-24 13:05:31
185
原创 6-10 WPS JS宏 映射应用
/特点:Map有键唯一性的特点,留最后一个键值为对象。for(var [k,v]of arr){//学习重点。m.has(k)){//查找数组中的k。function 去除重复留下最后一个键值(){function 去除重复留下第一个键值(){示例1:去除重复留下最后一个键值。示例2:去除重复留下第一个键值。原数组与结果1-结果2。
2025-12-24 12:50:24
63
原创 6-9 WPS JS宏Map、 set、get、delete、clear()映射的添加、修改、删除
摘要:WPSJS宏中的Map对象用于存储键值对集合,支持多种操作方法:1) new Map()创建映射;2) set()添加/修改键值;3) get()获取键对应值;4) delete()删除指定键值;5) clear()清空所有键值。Map的键可以是任意类型,不同于数组的连续整数索引。示例演示了创建映射、判断键存在性、获取大小、增删改查等操作,如m2.set("b",15)修改值,m2.delete("a")删除键值对等。这些方法提供了灵活的数据存储和操作能力。
2025-12-18 10:16:43
335
原创 6-6至6-8 WPS JS宏 includes、has、!并集:数组完成并集、交集、差集
本文介绍了在WPSJS宏中使用数组和集合(set)进行并集、交集和差集运算的方法。主要内容包括:1) includes()和has()方法分别用于检查数组和集合中是否存在指定值;2) 使用Set和扩展运算符(...)实现数组并集;3) 通过filter()和includes()/has()方法实现数组/集合的交集运算;4) 使用filter()结合includes()和取反运算符(!)实现差集运算。文中提供了多个实用示例代码,包括处理工作表数据、多维数组等实际应用场景。这些方法可有效提高数据处理效率,适用于
2025-12-16 13:36:40
860
原创 6-5 WPS JS宏 集合成员迭代(随机生成试题)
本文介绍了使用WPSJS宏实现随机生成试题的功能。通过"题库"工作表中A2:B21区域获取试题数据,利用rnd()函数生成指定数量(8道)的不重复随机数作为索引,从题库中抽取对应题目。关键点在于处理数组索引偏移(随机数1-n对应数组0-(n-1)),将抽取的题目连同序号存入新数组,最后输出到"试卷"工作表。rnd()函数使用Set集合确保随机数不重复,通过RandBetween方法生成指定范围内的随机数。该代码实现了从题库中随机抽题组卷的自动化功能。
2025-12-15 13:12:29
270
原创 6-4 WPS JS宏 不重复随机取值应用
本文展示了两种实现不重复随机数生成的方法。第一种是直接实现,使用Set集合存储随机数,当集合大小达到8时停止循环。第二种将其封装为可复用的自定义函数rnd,接收三个参数:生成数量、起始值和结束值。两种方法都利用RandBetween函数生成随机数,并通过Set自动去重,最后将结果转换为数组输出。封装后的函数更具通用性,可灵活指定生成数量和范围。
2025-12-15 11:08:55
233
原创 6-3 WPS JS宏 add、delete、size、clear集合成员添加与删除
本文介绍了WPSJS宏中Set集合的基本操作方法,包括添加(add)、删除(delete)、获取大小(size)和清空(clear)功能。通过test1函数演示了集合的完整操作流程:初始创建包含混合类型元素的集合,逐步添加新元素,删除指定元素,获取集合大小,最后清空集合。test2函数展示了如何通过forEach循环删除集合中满足条件的元素(数值≥10)。文章强调集合操作的关键语法和注意事项,如使用展开运算符[...s]将集合转为数组便于查看内容,以及循环删除时的代码块处理方式。
2025-12-12 11:40:35
314
原创 6-2集合的不重复特性应用(案例:提取唯一值记录)
这段代码实现了一个从销售记录中提取每日唯一销售数据的功能。首先将A2:A11单元格格式设为数值型,读取A2:D11区域的数据后,再恢复为日期格式。通过Set对象去除重复日期,找到每个日期的第一条记录,最终将结果输出到G2开始的区域,并将日期列格式设为"yyyy/m/d"。该方案解决了日期型数据在Set中无法正确去重的问题。
2025-12-12 10:23:19
230
原创 6-1WPS JS宏 new Set集合的创建
摘要:本章介绍了WPS JS宏中Set集合的创建与应用。Set集合具有唯一性,能自动去除重复数据。通过示例展示了多种创建方式:空集合、数组构造、可迭代对象转换,以及集合与数组间的相互转换。重点演示了如何利用Set去除工作表区域数据的重复项,并通过map、flat等方法处理结果数组,最后将去重后的数据写入指定区域。这些操作展示了Set在WPS表格数据处理中的实用价值。
2025-12-11 10:52:44
304
原创 5-40 WPS JS宏 综合实例应用-5(求字符串中的最大值记录)
该代码实现从Excel B列数据中提取最大值。通过自定义匿名函数max处理拆分后的字符串,比较"-"后的数值部分,使用reduce方法找出每个单元格中以"、"分隔的字符串中的最大值。最后将结果输出到C列。关键点在于自定义比较函数处理拆分后的数值比较,并保持原字符串完整性。代码同时展示了直接按内码排序的替代方案注释。
2025-12-10 12:58:52
244
原创 5-39 WPS JS宏 综合实例应用-4(多条件筛选记录并排序)
这段代码实现了多条件筛选和排序功能:首先复制表头到新位置,然后筛选A2:D10区域中第2-4列值均≥100的记录,通过slice切片和reduce求和后,按总和升序排序,最后将结果写入F2开始的区域。核心使用了filter过滤、every比较、reduce求和及sort排序等方法,实现了数据的高效处理。
2025-12-10 12:54:46
304
原创 5-38 WPS JS宏 综合实例应用-3(按员工职务级别大小排序)
这段代码实现了一个按员工级别排序的功能。首先将表头复制到新位置,然后获取数据区域。通过定义级别数组["员工","经理","董事长"]作为排序规则,使用自定义排序函数比较级别索引值,实现降序排列(董事长在前)。最后将排序后的数据写入新位置。代码展示了如何使用JavaScript数组方法findIndex()和sort()实现自定义排序规则。
2025-12-10 12:49:25
248
原创 5-37 WPS JS宏综合实例应用-2(一维表变二维表)
摘要:该代码实现了一维表转二维表的功能。通过获取A2到C列最后一行数据,将第三列数据按"、"拆分后,与第一、二列组合生成新数组,并复制到E1:G1起始的区域。主要步骤包括:获取源数据、复制表头、拆分数据并重组、写入目标区域。使用Range和Value2方法实现数据操作,Offset控制写入位置。
2025-12-10 12:45:56
173
原创 5-36 WPS JS宏综合实例应用-1(多工作表数据合并)
本文介绍了一个多工作表数据合并的VBA代码示例。该代码可将A班、B班、C班等多个工作表中的数据合并到"合并"表中。代码首先清空目标区域,然后遍历所有工作表(排除"合并"表本身),采用两种备选方法获取数据范围,将数据存入数组后添加工作表名称列,最后逐行写入合并表。该方案适用于需要汇总多个班级数据的场景。
2025-12-10 11:16:40
204
原创 5-35WPS JS宏split与join 合并与拆分应用
摘要:该代码示例演示了如何使用JavaScript的split和join方法对Excel中的金额数据进行排序处理。首先清空C列内容,获取B列数据后,通过split方法以"、"为分隔符拆分字符串,对拆分后的数组进行数字排序,最后用join方法重新合并为字符串并输出到C列。整个过程实现了对原始无序金额数据的快速排序整理。
2025-12-04 16:06:15
131
原创 5-34 WPS JS宏tostring、split与join合并与拆分(字符串与数组互转)
本文介绍了JavaScript中数组转字符串的三种方法:1) toString()可将多维数组打平为逗号分隔的字符串;2) join()支持自定义分隔符合并数组元素;3) split()则用于将字符串按指定分隔符拆分为数组。通过示例展示了这些方法的实际应用,包括处理一维数组[[1,2,3,4]]和多维数组[[[1],[2,3],4]]的情况,演示了数组与字符串之间的相互转换过程。
2025-12-04 16:00:57
123
原创 5-33 WPS JS宏sort数组排序
JavaScript数组的sort()方法提供了灵活的排序功能。默认按ASCII码升序排列字符串,但通过自定义比较函数可实现多种排序需求:数字排序(升序a-b,降序b-a)、字符串按长度或字母顺序排序(a.length-b.length或localeCompare),以及对象数组按属性排序。sort()会修改原数组,对大型数组需注意性能。使用时需注意比较函数的返回值规则:负数a在前,正数b在前,0保持原序。合理使用比较函数可以满足各种复杂排序场景。
2025-12-04 15:56:32
543
原创 5-32 WPS JS宏splice数组删除、插入与替换
JavaScript数组的splice()方法用于修改数组,可删除、插入或替换元素。该方法接收2个主要参数:起始索引和删除数量,正数表示从左到右操作,负数表示从右到左操作。示例展示了多种用法:删除元素(arr.splice(2))、指定范围删除(arr.splice(1,4))、负数索引操作(arr.splice(-4,2)),以及插入和替换元素(arr.splice(0,0,100,200))。特别注意的是,当删除数量为0时可实现插入功能,而指定删除数量后可实现替换功能。splice()会返回被删除的元素
2025-11-25 12:03:09
267
原创 5-27 WPS JS宏数组元素添加删除应用2
摘要:本文展示了WPSJS宏中数组操作的两种方法:1)通过Transpose函数转换二维区域并拆分数组后写入指定区域;2)定义ArrArr2函数将区域值扁平化后重新映射为二维数组,并输出到偏移位置。两种方法都实现了从A2:C6区域提取数据并重组写入E1:G1下方区域的功能,演示了数组元素的转换、重组和写入操作。
2025-10-30 17:04:08
230
原创 5-26 WPS JS宏数组元素添加删除应用
该代码示例展示了一个数组调头处理的函数ArrArr,可将二维区域数据逆序重组。函数通过遍历输入区域,将每列值存入临时数组,当收集满一列时,使用unshift方法将数据倒序插入结果数组。示例调用demo()处理"A2:C6"区域后,输出结果为原数据从下到上、从左到右的重组序列:"小七,120,150...小明,75,100"。代码提供了两种实现方式(注释方法1/2),当前使用的方法2直接整体转移临时数组,更简洁高效。
2025-10-30 10:51:01
236
原创 5-29 WPS JS宏slice数组切片应用(实例:多列数据求和要求筛选)
这段WPS JS宏代码演示了如何使用数组切片(slice)功能对多列数据进行筛选和求和操作。代码首先读取A2到C6区域的数据并转换为二维数组,然后通过flat和map方法重组数据。关键部分在于使用slice(1)对每行数据从第二列开始切片,并计算切片后数组元素的和。当某行切片后的总和≥260时,将该行完整数据写入E1:G1区域的偏移位置。此实例展示了如何结合数组切片与求和函数实现数据筛选。
2025-10-29 13:40:25
144
原创 5-28 WPS JS宏 slice数组切片(子数组的切片提取)
本文介绍了JavaScript中slice()方法的使用规则和特性。slice()通过指定起始和结束索引(左闭右开)进行数组切片,支持正数(从左到右)和负数(从右到左)索引。测试示例展示了不同参数组合的效果:正数参数正常截取,纯负数参数需注意方向,正负混用可灵活截取,单参数则截取到末尾。最后给出了一个实际应用示例,使用slice()配合map()将一维数组按4个元素一组进行拆分。该方法能有效实现数组的分段处理。
2025-10-28 14:46:02
258
原创 5-25 WPS JS宏 push、pop、unshift、shift数组元素添加删除
数组的增删操作:push()在数组末尾添加元素(返回新长度),pop()删除末尾元素(返回被删值);unshift()在开头添加元素(返回新长度),shift()删除开头元素(返回被删值)。测试代码演示了这些方法的链式调用过程,包括添加单个值、多个值和整个数组,以及删除元素的操作。这些方法会直接修改原数组。
2025-10-22 09:37:44
332
原创 5-24 WPS JS宏concat数组的合并(合并打平嵌套数组)
/监视窗口:arr3=[1,1,Array(2),3,4,5],类型:Array/object。//监视窗口:arr5=[1,"你好","你","好"],类型:Array/object。//监视窗口:arr2=[1,2,3,4,5],类型:Array/object。//监视窗口:arr4=[1,1,2,3,4],类型:Array/object。
2025-10-21 16:14:46
464
原创 5-23 WPS JS宏fat与flatMap数组的打平迭代和reverse反转数组元素、Transpose转置
摘要:本文展示了数组操作的多种方法,包括数组打平(flat)、映射打平(flatMap)、反转(reverse)和转置(Transpose)等。通过示例代码演示了如何将多维数组转换为单维数组,以及如何高效地进行数组转置操作。特别比较了flatMap与map+flat组合的性能差异,并提供了Excel范围数据转置的实际应用案例,最后展示了如何通过循环将转置后的数组值复制到指定单元格区域。这些方法适用于需要处理复杂数组结构的场景。
2025-10-21 12:42:03
372
原创 5-22 WPS JS宏reduce数组的归并迭代应用(实例:提取最大最小值的记录)
WPS JS宏reduce数组的归并迭代应用(实例:提取最大最小值的记录)
2025-10-16 15:49:15
373
原创 5-21WPS JS reduce、reduceRight宏数组的归并迭代(必学重要函数)
摘要:WPSJS中的reduce和reduceRight函数用于数组归并操作,将多个值合并为一个值。reduce从左到右处理,reduceRight从右到左。基本语法为数组.reduce((迭代值,当前值,索引,数组)=>公式,初始值)。文中通过示例演示了求和、求平均值、求最大值和最小值的实现方法,并解释了迭代原理。同时对比了两种实现方式(箭头函数和普通函数)的等价性,帮助理解reduce的判断逻辑。这些函数是处理数组数据的重要工具,掌握它们能提升开发效率。
2025-10-15 16:38:18
165
原创 5-20 WPS JS宏 every与some数组的[与或]迭代(数组的逻辑判断)
文章摘要: 本文介绍了JavaScript数组的every和some方法的使用。every方法要求所有元素满足条件才返回true,类似"与"操作;some方法只需一个元素满足条件即返回true,类似"或"操作。通过示例演示了如何用这两种方法进行数值和字符串("合格")的判定,并展示了条件判断的简写形式(✔/✗)。此外还介绍了使用filter方法统计满足条件的元素数量,以及如何将结果输出到Excel单元格中。这些方法可应用于产品合格率等实际业务场景的
2025-10-05 13:22:31
601
原创 5-19 WPS JS宏find、findIndex数组的查找迭代与indexOf、lastIndexOf、includes、in系列函数(数组查找判断)
本文介绍了JavaScript中常用的数组查找方法:find()和findIndex()使用"=="规则进行值/索引查找,通过回调函数判断条件;indexOf()、lastIndexOf()和includes()则采用"==="严格比较规则,直接查找特定值或判断存在性。其中find系列方法支持复杂条件查询,而indexOf系列更适用于精确值匹配。in运算符用于检查数组索引是否存在。文末通过test1()函数展示了这些方法的具体应用场景和返回值差异。所有方法均通过示例代
2025-10-04 22:50:09
292
原创 5-18WPS JS宏 filter数组的筛选迭代(必学重要函数)
摘要:本文展示两个JavaScript函数用法示例。第一个test()函数演示数组filter方法,分别使用1-3个参数筛选不同条件的数值。第二个test2()函数实现工资统计功能:遍历工作表,筛选出工资≥1500的记录,统计每人符合条件次数,并将结果写入"统计"工作表。两个示例聚焦于数组操作和Excel数据处理的结合应用。
2025-10-02 11:05:00
270
原创 5-17WPS JS宏map数组的转换迭代应用-2(一维数组的拆分分组)
该示例展示了如何将扁平化数组按照多行多列结构重组。原始数组包含姓名、数值、字母和地区四类数据,通过公式"行号+列号3"计算出每个元素在扁平数组中的索引位置。例如,张三位于第0行第0列,其索引为0+03=0;对应的数值78索引为0+1*3=3。最终输出结果为每个姓名关联对应的数值、字母和地区,形成[[张三,78,A,川],[李四,34,B,湘],[麻子,98,C,陕]]的结构。该方法适用于将按类别存储的扁平数据重组为记录形式。
2025-09-29 14:23:39
199
原创 5-16WPS JS宏 map数组转换迭代应用-1(一维嵌套数组结构重组)
这段代码通过双重map方法将二维数组的行列转置。外层map遍历数组第一个子元素(姓名列表),内层map通过索引y获取对应位置的姓名和数值。最终生成新数组[[姓名1,数值1],[姓名2,数值2],...]的形式。核心逻辑是利用索引y同步获取两个子数组中的对应元素,实现数据重组。
2025-09-26 08:23:17
335
原创 5-15 WPS JS宏 map数组转换迭代(必学重要函数)
JavaScript数组的map方法用于循环处理数组元素,它接收1-3个参数(元素值、索引、原数组),并返回新数组。示例展示了map的多种用法:1)元素乘10;2)累加求和;3)输出元素和索引;4)嵌套map实现乘法表。相比forEach,map会返回新数组。类似方法Array.from也能循环处理数组,但不支持第三个参数。map方法常用于数据转换和计算场景。
2025-09-18 17:07:08
368
原创 5-14 forEach-数组简易循环(实例:数组的汇总)
forEach()方法是遍历数组的简易方式,可对每个元素执行指定操作。它支持三种参数形式:仅元素值、元素值+索引、元素值+索引+数组本身。示例展示了求和、显示元素及索引、数组转换等常见用法。另一个实例演示了如何筛选数组元素并计算总和、最大值和计数。forEach()没有返回值,主要用于替代传统for循环来简化数组遍历操作。
2025-09-15 22:33:13
281
原创 5-13 WPS JS宏 keys、values、entries数组元素的循环迭代(数组元素循环攻略)
本文介绍了JavaScript中循环遍历数组的多种方法:1. 获取索引号:使用for...in循环或arr.keys();2. 获取元素值:使用for...of循环或arr.values();3. 同时获取索引和值:使用arr.entries(),可通过解构[i,x]分别输出。还介绍了扩展运算符...转换迭代器为数组的用法,以及快速创建序列数组[...new Array(10).keys()]的技巧。这些方法实现了数组索引和元素的灵活遍历操作。
2025-09-15 08:00:43
726
原创 5-12 WPS JS宏 Range数组规范性测试
JS宏中Range()数组有两种写法(Range("a2:m2")和Range("a2","m2")),功能相同但语法不同。Value()方法可将Range转为二维数组,使用[0]可获取第一行数据,flat()可打平数组为1维。测试显示Range()支持选择行、列或多行多列区域,经Value()转换后均为二维数组,flat()后变为一维数组。不同写法的Range()对象在转换为数组后表现一致。
2025-09-14 19:33:35
1168
原创 5-11 数组元素添加和删除应用-1(实例:提取求和最大的记录)
这篇文章的代码实现了从Excel表格中提取并计算每行数据的求和最大值。代码首先统计A列非空单元格数量,然后循环处理B到M列每行数据,计算各行求和值存入数组。接着找出数组中的最大值及其位置,最后通过弹窗显示最大值(红色字体)及对应的产品名称。主要使用了CountA、Sum、Max和Match等Excel函数来实现数据统计和查找功能。
2025-09-13 20:32:03
142
原创 5-10数组元素添加和删除(数组基础操作)
本文介绍了JavaScript数组操作的基本方法:1.使用push()方法可向数组添加一个或多个元素,也可通过数组长度属性添加元素;2.pop()方法可从数组尾部删除元素并返回被删元素值,delete可删除指定位置元素但保留位置;3.演示了如何将二维数据转换为一维数组,通过循环范围获取值并推入新数组。这些方法涵盖了数组的增删改查基本操作。
2025-09-06 15:13:22
257
WPS/JS宏/Excel批量拆分数据库文件内容生成工作表和工作薄的小工具
2025-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅