JSA

命名空间

JSA

说明:
  • JSA通用函数工具库 增强JSA能力全局可用
作者:
  • 郑广学 2023.9.10 微信公众号EXCEL880 官网vbayyds.com

函数:

z转置(arr) → {Array}

说明:
  • 这个函数用于将数组转置(行列互换) 系统自带的转置遇到大数组会出错, 返回转置后的数组
别名:
  • transpose
参数列表:
参数名称 参数类型 备注
arr Array 要转置的数组
返回值:
- 转置后的数组
Type
Array
例子
var arr=JSA.z转置([[1,2,3],[4,5,6],[7,8,9],[10,11,12],[15,18,19]]);
logjson(arr,0);
//输出结果
[[1,4,7,10,15],[2,5,8,11,18],[3,6,9,12,19]]

transpose(arr) → {Array}

说明:
  • 这个函数用于将数组转置(行列互换) 系统自带的转置遇到大数组会出错, 返回转置后的数组
别名:
  • z转置
参数列表:
参数名称 参数类型 备注
arr Array 要转置的数组
返回值:
- 转置后的数组
Type
Array
例子
var arr=JSA.transpose([[1,2,3],[4,5,6],[7,8,9],[10,11,12],[15,18,19]]);
logjson(arr,0);
//输出结果
[[1,4,7,10,15],[2,5,8,11,18],[3,6,9,12,19]]

z转数值(text) → {Number}

说明:
  • 这个函数用于将文本转换为数值
别名:
  • val
参数列表:
参数名称 参数类型 备注
text String 要转换的文本
返回值:
- 转换后的数值
Type
Number
例子
var v = JSA.z转数值("753");  
console.log(v); 
//输出结果
753

val(text) → {Number}

说明:
  • 这个函数用于将文本转换为数值
别名:
  • z转数值
参数列表:
参数名称 参数类型 备注
text String 要转换的文本
返回值:
- 转换后的数值
Type
Number
例子
var v = JSA.val("753");  
console.log(v); 
//输出结果
753

z写入单元格(arr, rng, clearDown) → {rng}

说明:
  • 这个函数用于将数组输出到单元格区域
别名:
  • toRange
参数列表:
参数名称 参数类型 备注
arr Array 数组
rng rng 单元格区域 可以是地址或者单元格对象, 数组输出的第一个单元格即可
clearDown Boolean 是否清空目标区下方数据 默认: 不清空 false
返回值:
rng - 返回输出的完整单元格区域
Type
rng
例子
//示例1
var rng = JSA.z写入单元格([[1,2,3],[4,5,6],[7,8,9],[10,11,12],[15,18,19]],"g1",true);  //输出到g1单元格并同时清空下方的数据
//var rng = JSA.z写入单元格([[1,2,3],[4,5,6],[7,8,9],[10,11,12],[15,18,19]],Range("g1"),true);  //输出到g1单元格并同时清空下方的数据
console.log(rng.Address()); 
//输出结果
//$G$1:$I$5

toRange(arr, rng, clearDown) → {rng}

说明:
  • 这个函数用于将数组输出到单元格区域 可作为数组扩展方法调用 arr.toRange("M1",true)
别名:
  • z写入单元格
参数列表:
参数名称 参数类型 备注
arr Array 数组
rng rng 单元格区域 可以是地址或者单元格对象, 数组输出的第一个单元格即可
clearDown Boolean 是否清空目标区下方数据 默认: 不清空 false
返回值:
rng - 返回输出的完整单元格区域
Type
rng
例子
//示例1
var rng = JSA.toRange([[1,2,3],[4,5,6],[7,8,9],[10,11,12],[15,18,19]],"g1",true);  //输出到g1单元格并同时清空下方的数据
//也可以这样写:var rng = JSA.toRange([[1,2,3],[4,5,6],[7,8,9],[10,11,12],[15,18,19]],Range("g1"),true);  //输出到g1单元格并同时清空下方的数据
//使用数组扩展方法: var rng = [[1,2,3],[4,5,6],[7,8,9],[10,11,12],[15,18,19]].toRange(Range("g1"),true); 
console.log(rng.Address()); 
//输出结果
$G$1:$I$5	

z今天() → {String}

说明:
  • 这个函数用于获取当前日期的字符串表示
别名:
  • today
返回值:
- 当前日期的字符串表示
Type
String
例子
Console.log(JSA.z今天());
//输出结果
2024-10-05

today() → {String}

说明:
  • 这个函数用于获取当前日期的字符串表示
别名:
  • z今天
返回值:
- 当前日期的字符串表示
Type
String
例子
Console.log(JSA.today());
//输出结果
2024-10-05

z转日期数值(d) → {Number}

说明:
  • 这个函数用于将日期对象转换为日期数值
别名:
  • cdate
参数列表:
参数名称 参数类型 备注
d Object 要转换的日期对象
返回值:
- 转换后的日期数值
Type
Number
例子
Console.log(JSA.z转日期数值('2024-10-5'));
//输出结果
45570

cdate(d) → {Number}

说明:
  • 这个函数用于将日期对象转换为日期数值
别名:
  • z转日期数值
参数列表:
参数名称 参数类型 备注
d Object 要转换的日期对象
返回值:
- 转换后的日期数值
Type
Number
例子
Console.log(JSA.cdate('2024-10-5'));
//输出结果
45570

z转义正则(str) → {String}

说明:
  • 这个函数用于转义正则表达式中的特殊字符
别名:
  • escapeRegExp
参数列表:
参数名称 参数类型 备注
str String 要转义的字符串
返回值:
- 转义后的字符串
Type
String
例子
Console.log(JSA.z转义正则('1*(2+1.3)'));  
//输出结果
1\*\(2\+1\.3\)

escapeRegExp(str) → {String}

说明:
  • 这个函数用于转义正则表达式中的特殊字符
别名:
  • z转义正则
参数列表:
参数名称 参数类型 备注
str String 要转义的字符串
返回值:
- 转义后的字符串
Type
String
例子
Console.log(JSA.escapeRegExp('1*(2+1.3)'));  
//输出结果
1\*\(2\+1\.3\)

z替换(str, find, replaceWith) → {String}

说明:
  • 这个函数用于替换字符串中的指定内容 系统string自带的repalce只替换第一个
别名:
  • replace
参数列表:
参数名称 参数类型 备注
str String 要替换的字符串
find String 要查找的内容
replaceWith String 替换后的内容
返回值:
- 替换后的字符串
Type
String
例子
Console.log(JSA.z替换("你好,世界!这是一个简单的例子。世界很大,我们要去看看。","世界","地球"));
//输出结果
你好,地球!这是一个简单的例子。地球很大,我们要去看看。

replace(str, find, replaceWith) → {String}

说明:
  • 这个函数用于替换字符串中的指定内容 系统string自带的repalce只替换第一个
别名:
  • z替换
参数列表:
参数名称 参数类型 备注
str String 要替换的字符串
find String 要查找的内容
replaceWith String 替换后的内容
返回值:
- 替换后的字符串
Type
String
例子
Console.log(JSA.replace("你好,世界!这是一个简单的例子。世界很大,我们要去看看。","世界","地球"));
//输出结果
你好,地球!这是一个简单的例子。地球很大,我们要去看看。

z截取字符(str, start, len) → {String}

说明:
  • 这个函数用于截取字符串的指定部分
别名:
  • mid
参数列表:
参数名称 参数类型 备注
str String 要截取的字符串
start Number 起始位置
len Number 截取的长度 省略最后的参数为到最后的字符
返回值:
- 截取后的字符串
Type
String
例子
//示例1
Console.log(JSA.z截取字符("你好,世界!这是一个简单的例子。世界很大,我们要去看看。",7,10));
//输出结果
这是一个简单的例子。
//示例2  //省略最后的参数为到最后的字符
Console.log(JSA.z截取字符("你好,世界!这是一个简单的例子。世界很大,我们要去看看。",7));
//输出结果
//这是一个简单的例子。世界很大,我们要去看看。

mid(str, start, len) → {String}

说明:
  • 这个函数用于截取字符串的指定部分
别名:
  • z截取字符
参数列表:
参数名称 参数类型 备注
str String 要截取的字符串
start Number 起始位置
len Number 截取的长度 省略最后的参数为到最后的字符
返回值:
- 截取后的字符串
Type
String
例子
//示例1
Console.log(JSA.mid("你好,世界!这是一个简单的例子。世界很大,我们要去看看。",7,10));
//输出结果
这是一个简单的例子。
//示例2  //省略最后的参数为到最后的字符
Console.log(JSA.mid("你好,世界!这是一个简单的例子。世界很大,我们要去看看。",7));
//输出结果
这是一个简单的例子。世界很大,我们要去看看。

z左取字符(str, len) → {String}

说明:
  • 这个函数用于获取字符串的左侧指定长度的部分
别名:
  • left
参数列表:
参数名称 参数类型 备注
str String 要获取部分的字符串
len Number 要获取的长度
返回值:
- 左侧指定长度的部分字符串
Type
String
例子
Console.log(JSA.z左取字符("你好,世界!这是一个简单的例子。世界很大,我们要去看看。",6));
//输出结果
你好,世界!

left(str, len) → {String}

说明:
  • 这个函数用于获取字符串的左侧指定长度的部分
别名:
  • z左取字符
参数列表:
参数名称 参数类型 备注
str String 要获取部分的字符串
len Number 要获取的长度
返回值:
- 左侧指定长度的部分字符串
Type
String
例子
Console.log(JSA.left("你好,世界!这是一个简单的例子。世界很大,我们要去看看。",6));
//输出结果
你好,世界!

z右取字符(str, len) → {String}

说明:
  • 这个函数用于获取字符串的右侧指定长度的部分
别名:
  • right
参数列表:
参数名称 参数类型 备注
str String 要获取部分的字符串
len Number 要获取的长度
返回值:
- 右侧指定长度的部分字符串
Type
String
例子
Console.log(JSA.z右取字符("你好,世界!这是一个简单的例子。世界很大,我们要去看看。",12));
//输出结果
世界很大,我们要去看看。

right(str, len) → {String}

说明:
  • 这个函数用于获取字符串的右侧指定长度的部分
别名:
  • z右取字符
参数列表:
参数名称 参数类型 备注
str String 要获取部分的字符串
len Number 要获取的长度
返回值:
- 右侧指定长度的部分字符串
Type
String
例子
Console.log(JSA.right("你好,世界!这是一个简单的例子。世界很大,我们要去看看。",12));
//输出结果
世界很大,我们要去看看。

z格式化(number, fmtstr) → {String}

说明:
  • 这个函数用于格式化数字为指定格式的字符串
别名:
  • text
参数列表:
参数名称 参数类型 备注
number Number 要格式化的数字
fmtstr String 格式化的格式字符串
返回值:
- 格式化后的字符串
Type
String
例子
Console.log(JSA.z格式化(5.879,"¥0.00"));
//输出结果
¥5.88

text(number, fmtstr) → {String}

说明:
  • 这个函数用于格式化数字为指定格式的字符串
别名:
  • z格式化
参数列表:
参数名称 参数类型 备注
number Number 要格式化的数字
fmtstr String 格式化的格式字符串
返回值:
- 格式化后的字符串
Type
String
例子
Console.log(JSA.text(5.879,"¥0.00"));
//输出结果
¥5.88

z查找索引(关键字, 数组) → {Object}

说明:
  • 这个函数用于在数组中查找指定关键字并返回匹配的结果索引
别名:
  • match
参数列表:
参数名称 参数类型 备注
关键字 String 要查找的关键字
数组 Array 要查找的数组
返回值:
- 匹配结果的索引
Type
Object
例子
Console.log(JSA.z查找索引("狐狸",["兔子","狗","猫","猎豹","狐狸","熊"]));  
//输出结果
5

match(关键字, 数组) → {Object}

说明:
  • 这个函数用于在数组中查找指定关键字并返回匹配的结果索引
别名:
  • z查找索引
参数列表:
参数名称 参数类型 备注
关键字 String 要查找的关键字
数组 Array 要查找的数组
返回值:
- 匹配结果的索引
Type
Object
例子
Console.log(JSA. match("狐狸",["兔子","狗","猫","猎豹","狐狸","熊"]));  
//输出结果
5

z左侧查找(关键字, 数组, 结果列, 模式, 错误值) → {Object}

说明:
  • 这个函数用于在数组中左侧查找指定关键字并返回结果列的值
别名:
  • vlookup
参数列表:
参数名称 参数类型 备注
关键字 String 要查找的关键字
数组 Array 要查找的数组
结果列 Number 结果列的索引
模式 Number 匹配模式,0:精确匹配 1: 模糊匹配 默认为0
错误值 String 遇到错误时返回的值,默认为"#err"
返回值:
- 匹配结果的值
Type
Object
例子
var arr=[["苹果", "香蕉", "橙子"],
		 ["狗", "桔猫", "兔子"],
		 ["汽车", "火车", "飞机"]];
Console.log(JSA.z左侧查找('猫',arr,3,1));  //查找猫, 数组, 返回第3列, 1: 模糊匹配
//输出结果
兔子

vlookup(关键字, 数组, 结果列, 模式, 错误值) → {Object}

说明:
  • 这个函数用于在数组中左侧查找指定关键字并返回结果列的值
别名:
  • z左侧查找
参数列表:
参数名称 参数类型 备注
关键字 String 要查找的关键字
数组 Array 要查找的数组
结果列 Number 结果列的索引
模式 Number 匹配模式,0:精确匹配 1: 模糊匹配 默认为0
错误值 String 遇到错误时返回的值,默认为"#err"
返回值:
- 匹配结果的值
Type
Object
例子
var arr=[["苹果", "香蕉", "橙子"],
		 ["狗", "桔猫", "兔子"],
		 ["汽车", "火车", "飞机"]];
Console.log(JSA.vlookup('猫',arr,3,1));  //查找猫, 数组, 返回第3列, 1: 模糊匹配
//输出结果
兔子

z转文本(v) → {String}

说明:
  • 这个函数用于将值转换为文本格式
别名:
  • cstr
参数列表:
参数名称 参数类型 备注
v Any 要转换的值
返回值:
- 转换后的文本格式
Type
String
例子
var s=JSA.z转文本(578); //数字转成文本
Console.log(s);  
console.log(typeof(s)); //输出类型
//输出结果
578
string

cstr(v) → {String}

说明:
  • 这个函数用于将值转换为文本格式
别名:
  • z转文本
参数列表:
参数名称 参数类型 备注
v Any 要转换的值
返回值:
- 转换后的文本格式
Type
String
例子
var s=JSA.cstr(578); //数字转成文本
Console.log(s);  
console.log(typeof(s)); //输出类型
//输出结果
578
string

z取整数(v) → {Number}

说明:
  • 这个函数用于获取一个数的整数部分
别名:
  • cint
参数列表:
参数名称 参数类型 备注
v Number 要获取整数部分的数
返回值:
- 返回整数部分
Type
Number
例子
Console.log(JSA.z取整数(5.8957));  
//输出结果
5

cint(v) → {Number}

说明:
  • 这个函数用于获取一个数的整数部分
别名:
  • z取整数
参数列表:
参数名称 参数类型 备注
v Number 要获取整数部分的数
返回值:
- 返回整数部分
Type
Number
例子
Console.log(JSA.cint(5.8957));  
//输出结果
5

z取小数(v) → {Number}

说明:
  • 这个函数用于获取一个数的小数部分
别名:
  • getDecimal
参数列表:
参数名称 参数类型 备注
v Number 要获取小数部分的数
返回值:
- 返回小数部分
Type
Number
例子
Console.log(JSA.z取小数(5.8957));  
//输出结果
0.8957

getDecimal(v) → {Number}

说明:
  • 这个函数用于获取一个数的小数部分
别名:
  • z取小数
参数列表:
参数名称 参数类型 备注
v Number 要获取小数部分的数
返回值:
- 返回小数部分
Type
Number
例子
Console.log(JSA.getDecimal(5.8957));  
//输出结果
0.8957

z转公式数组(arr) → {String}

说明:
  • 这个函数用于将数组转换为Excel公式字符串
别名:
  • toExcelArray
参数列表:
参数名称 参数类型 备注
arr Array 要转换的数组
返回值:
- 转换后的Excel公式字符串
Type
String
例子
console.log(JSA.z转公式数组([[1,2,3],[4,5,6]]));
//输出结果
{1,2,3;4,5,6}

toExcelArray(arr) → {String}

说明:
  • 这个函数用于将数组转换为Excel公式字符串
别名:
  • z转公式数组
参数列表:
参数名称 参数类型 备注
arr Array 要转换的数组
返回值:
- 转换后的Excel公式字符串
Type
String
例子
console.log(JSA.toExcelArray([[1,2,3],[4,5,6]]));
//输出结果
{1,2,3;4,5,6}

z增强查找(关键字, 查找数组, 结果数组, 错误值) → {Object}

说明:
  • 这个函数用于增强的查找函数,返回匹配结果的索引
别名:
  • xlookup
参数列表:
参数名称 参数类型 备注
关键字 String 要查找的关键字
查找数组 Array 要查找的数组或单元格区域
结果数组 Array 结果数组或单元格区域
错误值 String 遇到错误时返回的值,默认为空字符串
返回值:
- 匹配结果的索引
Type
Object
例子
var arr=[["苹果"],
		 ["狗"],
		 ["汽车"]];
var brr=[["香蕉"],
		 ["桔猫"],
		 ["火车"]];	 
Console.log(JSA.z增强查找('狗',arr,brr));  //查找狗, 查找数组, 结果数组
//输出结果
桔猫

xlookup(关键字, 查找数组, 结果数组, 错误值) → {Object}

说明:
  • 这个函数用于增强的查找函数,返回匹配结果的索引
别名:
  • z增强查找
参数列表:
参数名称 参数类型 备注
关键字 String 要查找的关键字
查找数组 Array 要查找的数组或单元格区域
结果数组 Array 结果数组或单元格区域
错误值 String 遇到错误时返回的值,默认为空字符串
返回值:
- 匹配结果的索引
Type
Object
例子
var arr=[["苹果"],
		 ["狗"],
		 ["汽车"]];
var brr=[["香蕉"],
		 ["桔猫"],
		 ["火车"]];	 
Console.log(JSA.xlookup('狗',arr,brr));  //查找狗, 查找数组, 结果数组
//输出结果
桔猫

z求和(要求和的多个数值) → {Number}

说明:
  • 这个函数用于对一组数值进行求和
别名:
  • sum
参数列表:
参数名称 参数类型 备注
要求和的多个数值 args
返回值:
- 返回求和结果
Type
Number
例子
Console.log(JSA.z求和(5,9,11));  
//输出结果
25

sum(要求和的多个数值) → {Number}

说明:
  • 这个函数用于对一组数值进行求和
别名:
  • z求和
参数列表:
参数名称 参数类型 备注
要求和的多个数值 args
返回值:
- 返回求和结果
Type
Number
例子
Console.log(JSA.sum(5,9,11));  
//输出结果
25

z最大值(要取最大值的多个数值) → {Number}

说明:
  • 这个函数用于获取一组数值中的最大值
别名:
  • max
参数列表:
参数名称 参数类型 备注
要取最大值的多个数值 args
返回值:
- 返回最大值
Type
Number
例子
Console.log(JSA.z最大值(5,18,9,11));  
//输出结果
18

max(要取最大值的多个数值) → {Number}

说明:
  • 这个函数用于获取一组数值中的最大值
别名:
  • z最大值
参数列表:
参数名称 参数类型 备注
要取最大值的多个数值 args
返回值:
- 返回最大值
Type
Number
例子
Console.log(JSA.max(5,18,9,11));  
//输出结果
18

z最小值(要取最小值的多个数值) → {Number}

说明:
  • 这个函数用于获取一组数值中的最小值
别名:
  • min
参数列表:
参数名称 参数类型 备注
要取最小值的多个数值 args
返回值:
- 返回最小值
Type
Number
例子
Console.log(JSA.z最小值(9,11,5,18));  
//输出结果
5

min(要取最小值的多个数值) → {Number}

说明:
  • 这个函数用于获取一组数值中的最小值
别名:
  • z最小值
参数列表:
参数名称 参数类型 备注
要取最小值的多个数值 args
返回值:
- 返回最小值
Type
Number
例子
Console.log(JSA.min(9,11,5,18));  
//输出结果
5

z平均值(要取平均值的多个数值) → {Number}

说明:
  • 这个函数用于计算一组数值的平均值
别名:
  • average
参数列表:
参数名称 参数类型 备注
要取平均值的多个数值 args
返回值:
- 返回平均值
Type
Number
例子
Console.log(JSA.z平均值(9,11,5,18));  
//输出结果
10.75

average(要取平均值的多个数值) → {Number}

说明:
  • 这个函数用于计算一组数值的平均值
别名:
  • z平均值
参数列表:
参数名称 参数类型 备注
要取平均值的多个数值 args
返回值:
- 返回平均值
Type
Number
例子
Console.log(JSA.average(9,11,5,18));  
//输出结果
10.75

z模糊匹配(str, pattern) → {boolean}

说明:
  • 这个函数用于模糊匹配字符串与模式
别名:
  • like
参数列表:
参数名称 参数类型 备注
str String 要匹配的字符串
pattern String 匹配词
返回值:
- 返回匹配结果 匹配 true 不匹配 false
Type
boolean
例子
Console.log(JSA.z模糊匹配("我们的世界很大","*世界*"));  
//输出结果
true

like(str, pattern) → {boolean}

说明:
  • 这个函数用于模糊匹配字符串与模式
别名:
  • z模糊匹配
参数列表:
参数名称 参数类型 备注
str String 要匹配的字符串
pattern String 匹配词
返回值:
- 返回匹配结果 匹配 true 不匹配 false
Type
boolean
例子
Console.log(JSA.like("我们的世界很大","*世界*"));  
//输出结果
true

z生成数字序列(开始, 结束, 步长) → {Array}

说明:
  • 这个函数用于生成一个数字序列一维数组
别名:
  • getNumberArray
参数列表:
参数名称 参数类型 备注
开始 Number 序列的起始值
结束 Number 序列的结束值,默认为空字符串
步长 Number 序列的步长,默认为1
返回值:
- 生成的数字序列一维数组
Type
Array
例子
logjson(JSA.z生成数字序列(5,10,2));  
//输出结果
[5,7,9]

getNumberArray(开始, 结束, 步长) → {Array}

说明:
  • 这个函数用于生成一个数字序列一维数组
别名:
  • z生成数字序列
参数列表:
参数名称 参数类型 备注
开始 Number 序列的起始值
结束 Number 序列的结束值,默认为空字符串
步长 Number 序列的步长,默认为1
返回值:
- 生成的数字序列一维数组
Type
Array
例子
logjson(JSA.getNumberArray(5,10,2));  
//输出结果
[5,7,9]

getIndexs(开始, 结束, 步长) → {Array}

说明:
  • 这个函数用于生成一个数字序列一维数组
别名:
  • z生成数字序列
参数列表:
参数名称 参数类型 备注
开始 Number 序列的起始值
结束 Number 序列的结束值,默认为空字符串
步长 Number 序列的步长,默认为1
返回值:
- 生成的数字序列一维数组
Type
Array
例子
logjson(JSA.getIndexs(5,10,2));  
//输出结果
[5,7,9]

z人民币大写(n) → {String}

说明:
  • 这个函数用于将数字转换为人民币大写
别名:
  • rmbdx
参数列表:
参数名称 参数类型 备注
n Number 要转换的数字
返回值:
- 转换后的人民币大写
Type
String
例子
console.log(JSA.z人民币大写(594.12));  
//输出结果
伍佰玖拾肆元壹角贰分

rmbdx(n) → {String}

说明:
  • 这个函数用于将数字转换为人民币大写
别名:
  • z人民币大写
参数列表:
参数名称 参数类型 备注
n Number 要转换的数字
返回值:
- 转换后的人民币大写
Type
String
例子
console.log(JSA.rmbdx(594.12));  
//输出结果
伍佰玖拾肆元壹角贰分

z随机整数(开始, 结束) → {Number}

说明:
  • 这个函数用于生成一个指定范围内的随机整数
别名:
  • rndInt
参数列表:
参数名称 参数类型 备注
开始 Number 随机整数的起始值
结束 Number 随机整数的结束值
返回值:
- 生成的随机整数
Type
Number
例子
logjson(JSA.z随机整数(5,10));  
//输出结果
6

rndInt(开始, 结束) → {Number}

说明:
  • 这个函数用于生成一个指定范围内的随机整数
别名:
  • z随机整数
参数列表:
参数名称 参数类型 备注
开始 Number 随机整数的起始值
结束 Number 随机整数的结束值
返回值:
- 生成的随机整数
Type
Number
例子
logjson(JSA.rndInt(5,10));  
//输出结果
6

z随机整数数组(开始, 结束, 个数) → {Array}

说明:
  • 这个函数用于生成一个指定范围内的随机整数一维数组
别名:
  • rndIntArray
参数列表:
参数名称 参数类型 备注
开始 Number 随机整数的起始值
结束 Number 随机整数的结束值
个数 Number 随机整数的个数
返回值:
- 返回生成的随机整数一维数组
Type
Array
例子
logjson(JSA.z随机整数数组(5,20,5));  
//输出结果
[18,15,6,7,12]

rndIntArray(开始, 结束, 个数) → {Array}

说明:
  • 这个函数用于生成一个指定范围内的随机整数一维数组
别名:
  • z随机整数数组
参数列表:
参数名称 参数类型 备注
开始 Number 随机整数的起始值
结束 Number 随机整数的结束值
个数 Number 随机整数的个数
返回值:
- 返回生成的随机整数一维数组
Type
Array
例子
logjson(JSA.rndIntArray(5,20,5));  
//输出结果
[18,15,6,7,12]

z随机小数(最小值, 最大值, 小数位数) → {Number}

说明:
  • 这个函数用于生成一个指定范围内的随机小数
别名:
  • rndFloat
参数列表:
参数名称 参数类型 备注
最小值 Number 随机小数的最小值
最大值 Number 随机小数的最大值
小数位数 Number 小数的位数,默认为10
返回值:
- 生成的随机小数
Type
Number
例子
logjson(JSA.z随机小数(5,20,5));  
//输出结果
6.46169

rndFloat(最小值, 最大值, 小数位数) → {Number}

说明:
  • 这个函数用于生成一个指定范围内的随机小数
别名:
  • z随机小数
参数列表:
参数名称 参数类型 备注
最小值 Number 随机小数的最小值
最大值 Number 随机小数的最大值
小数位数 Number 小数的位数,默认为10
返回值:
- 生成的随机小数
Type
Number
例子
logjson(JSA.rndFloat(5,20,5));  
//输出结果
6.46169

z随机小数数组(开始, 结束, 个数, 位数) → {Array}

说明:
  • 这个函数用于生成一个指定范围内的随机小数一维数组
别名:
  • rndFloatArray
参数列表:
参数名称 参数类型 备注
开始 Number 随机小数的最小值
结束 Number 随机小数的最大值
个数 Number 随机小数的个数
位数 Number 小数的位数(小于等于该小数位数) 默认为10
返回值:
- 生成的随机小数一维数组
Type
Array
例子
logjson(JSA.z随机小数数组(5,20,5,2));  //生成5到20之间的5个随机小数, 小数点位数小于等于2位
//输出结果
[18.67,16.77,14.73,10.64,10.7]

rndFloatArray(开始, 结束, 个数, 位数) → {Array}

说明:
  • 这个函数用于生成一个指定范围内的随机小数一维数组
别名:
  • z随机小数数组
参数列表:
参数名称 参数类型 备注
开始 Number 随机小数的最小值
结束 Number 随机小数的最大值
个数 Number 随机小数的个数
位数 Number 小数的位数(小于等于该小数位数) 默认为10
返回值:
- 生成的随机小数一维数组
Type
Array
例子
logjson(JSA.rndFloatArray(5,20,5,2));  //生成5到20之间的5个随机小数, 小数点位数小于等于2位
//输出结果
[18.67,16.77,14.73,10.64,10.7]

z随机打乱(array) → {Array}

说明:
  • 这个函数用于随机打乱数组的顺序
别名:
  • shuffle
参数列表:
参数名称 参数类型 备注
array Array 要打乱顺序的数组
返回值:
- 打乱顺序后的数组
Type
Array
例子
logjson(JSA.z随机打乱([11,20,12,16,10]));  
//输出结果
[10,11,12,16,20]

shuffle(array) → {Array}

说明:
  • 这个函数用于随机打乱数组的顺序
别名:
  • z随机打乱
参数列表:
参数名称 参数类型 备注
array Array 要打乱顺序的数组
返回值:
- 打乱顺序后的数组
Type
Array
例子
logjson(JSA.shuffle([11,20,12,16,10]));  
//输出结果
[10,11,12,16,20]

z随机乱序数字序列(开始, 结束, 步长) → {Array}

说明:
  • 这个函数用于生成一个指定范围内的随机乱序数字序列一维数组
别名:
  • shuffleNumbers
参数列表:
参数名称 参数类型 备注
开始 Number 数字序列的起始值
结束 Number 数字序列的结束值,默认为空字符串
步长 Number 数字序列的步长,默认为1
返回值:
- 生成的随机乱序数字序列一维数组
Type
Array
例子
logjson(JSA.z随机乱序数字序列(5,15,2));  
//输出结果
[9,11,15,5,7,13]

shuffleNumbers(开始, 结束, 步长) → {Array}

说明:
  • 这个函数用于生成一个指定范围内的随机乱序数字序列一维数组
别名:
  • z随机乱序数字序列
参数列表:
参数名称 参数类型 备注
开始 Number 数字序列的起始值
结束 Number 数字序列的结束值,默认为空字符串
步长 Number 数字序列的步长,默认为1
返回值:
- 生成的随机乱序数字序列一维数组
Type
Array
例子
logjson(JSA.shuffleNumbers(5,15,2));  
//输出结果
[9,11,15,5,7,13]

z延时(ts) → {undefined}

说明:
  • 这个函数用于延时执行函数
别名:
  • delay
参数列表:
参数名称 参数类型 备注
ts Number 延时时间(毫秒)
返回值:
不返回值
Type
undefined
例子
console.timeStart(); //时间开始
JSA.z延时(5);
console.timelog('测试延时'); //时间结束
测试延时用时:0.005秒

delay(ts) → {undefined}

说明:
  • 这个函数用于延时执行函数
别名:
  • z延时
参数列表:
参数名称 参数类型 备注
ts Number 延时时间(毫秒)
返回值:
不返回值
Type
undefined
例子
console.timeStart(); //时间开始
JSA.delay(5);
console.timelog('测试延时'); //时间结束
测试延时用时:0.005秒

z统一路径分隔符(path) → {String}

说明:
  • 这个函数用于统一路径分隔符为指定格式
别名:
  • normalPath
参数列表:
参数名称 参数类型 备注
path String 要处理的路径
返回值:
- 处理后的路径
Type
String
例子
//示例1
Console.log(JSA.z统一路径分隔符("c:\\Documents\\123"));  
//输出结果
//c:\Documents\123
//示例2
Console.log(JSA.z统一路径分隔符("c:/Documents/123"));  
//输出结果
//c:\Documents\123

normalPath(path) → {String}

说明:
  • 这个函数用于统一路径分隔符为指定格式
别名:
  • z统一路径分隔符
参数列表:
参数名称 参数类型 备注
path String 要处理的路径
返回值:
- 处理后的路径
Type
String
例子
//示例1
Console.log(JSA.normalPath("c:\\Documents\\123"));  
//输出结果
//c:\Documents\123
//示例2
Console.log(JSA.normalPath("c:/Documents/123"));  
//输出结果
//c:\Documents\123

z格式化(v, fmt) → {String}

说明:
  • 这个函数用于返回值格式化后的字符串
别名:
  • format
参数列表:
参数名称 参数类型 备注
v number 要格式化的值
fmt String 格式
返回值:
- 格式化后的字符串
Type
String
例子
Console.log(JSA.z格式化(6.899122,"0.00"));  
//输出结果
6.90

format(v, fmt) → {String}

说明:
  • 这个函数用于返回值格式化后的字符串
别名:
  • z格式化
参数列表:
参数名称 参数类型 备注
v number 要格式化的值
fmt String 格式
返回值:
- 格式化后的字符串
Type
String
例子
Console.log(JSA.format(6.899122,"0.00"));  
//输出结果
6.90

z日期间隔(d1, d2, 格式) → {String}

说明:
  • 这个函数用于计算二个日期之间的间隔
别名:
  • datedif
参数列表:
参数名称 参数类型 备注
d1 Date 较小的日期
d2 Date 较大的日期
格式 String Y: 年 M: 月 D: 天数 YD: 忽略年差,仅计算天数差 MD: 忽略年和月份差,仅计算天数差 YM: 忽略年差,仅计算月差 默认:都计算
返回值:
- 按格式返回间隔
Type
String
例子
//示例1
Console.log(JSA.z日期间隔('2023-5-3','2024-10-7','YD'));  
//输出结果
157
//示例2
Console.log(JSA.z日期间隔('2023-5-3','2024-10-7'));
//输出结果
1年5个月4天

datedif(d1, d2, 格式) → {String}

说明:
  • 这个函数用于计算二个日期之间的间隔
别名:
  • z日期间隔
参数列表:
参数名称 参数类型 备注
d1 Date 较小的日期
d2 Date 较大的日期
格式 String Y: 年 M: 月 D: 天数 YD: 忽略年差,仅计算天数差 MD: 忽略年和月份差,仅计算天数差 YM: 忽略年差,仅计算月差 默认:都计算
返回值:
- 按格式返回间隔
Type
String
例子
//示例1
Console.log(JSA.datedif('2023-5-3','2024-10-7','YD'));  
//输出结果
157
//示例2
Console.log(JSA.datedif('2023-5-3','2024-10-7'));
//输出结果
1年5个月4天

z表达式求值() → {Number}

说明:
  • 这个函数用于对字符串表达式求结果
别名:
  • eval880
参数列表:
参数类型 备注
function 字符串表达式
返回值:
- 结果
Type
Number
例子
console.log(JSA.z表达式求值('5*6+5'));
//输出结果
35

eval880() → {Number}

说明:
  • 这个函数用于对字符串表达式求结果
别名:
  • z表达式求值
参数列表:
参数类型 备注
function 字符串表达式
返回值:
- 结果
Type
Number
例子
console.log(JSA.eval880('5*6+5'));
//输出结果
35

z选择列(arr, 列号数组, 表头数组) → {Array}

说明:
  • 这个函数用于选择二维数组中指定的列(列号数组可以是表头数组),并返回选择后的结果二维数组
别名:
  • selectCols
参数列表:
参数名称 参数类型 备注
arr Array 二维数组
列号数组 Array 要选择列的索引数组
表头数组 Array 要指定的表头 默认原表头
返回值:
返回选择后的结果二维数组
Type
Array
例子
//示例1	
var arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
var columnIndexes = [0, 2]; // 选择第一列和第三列
var result = Array2D.z选择列(arr, columnIndexes);
logjson(result);  // 输出选择后的结果数组
//输出结果
[[1,3],
 [4,6],
 [7,9]]
//示例2    //下面是按表头
var arr=[['a','b','c'],
         [1,2,3],
         [4,5,6],
         [7,8,9]];
logjson($$.z选择列(arr,['c','b','a']));  //按首行表头 错位选择
//输出结果
[["c","b","a"],
 [3,2,1],
 [6,5,4],
 [9,8,7]]
//示例3    按自定义表头 第2个数组为每列依次指定新的表头
logjson($$.z选择列(arr,['x','z'],['x','y','z']));
//输出结果
[["x","z"],
 [1,3],
 [4,6],
 [7,9]]

selectCols(arr, 列号数组, 表头数组) → {Array}

说明:
  • 这个函数用于选择二维数组中指定的列(列号数组可以是表头数组),并返回选择后的结果二维数组
别名:
  • z选择列
参数列表:
参数名称 参数类型 备注
arr Array 二维数组
列号数组 Array 要选择列的索引数组
表头数组 Array 要指定的表头 默认原表头
返回值:
返回选择后的结果二维数组
Type
Array
例子
//示例1	
var arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
var columnIndexes = [0, 2]; // 选择第一列和第三列
var result = Array2D.selectCols(arr, columnIndexes);
logjson(result);  // 输出选择后的结果数组
//输出结果
[[1,3],
 [4,6],
 [7,9]]
//示例2    //下面是按表头
var arr=[['a','b','c'],
         [1,2,3],
         [4,5,6],
         [7,8,9]];
logjson($$.selectCols(arr,['c','b','a']));  //按首行表头 错位选择
//输出结果
[["c","b","a"],
 [3,2,1],
 [6,5,4],
 [9,8,7]]
//示例3    按自定义表头 第2个数组为每列依次指定新的表头
logjson($$.selectCols(arr,['x','z'],['x','y','z']));
//输出结果
[["x","z"],
 [1,3],
 [4,6],
 [7,9]]

jsaLambda(fn, …args) → {*}

说明:
  • 这个函数用于以字符串形式创建一个函数 并依次传递参数 返回函数计算结果
参数列表:
参数名称 参数类型 属性 备注
fn function 字符串形式的函数定义
args * <repeatable>
函数对应的参数列表
返回值:
- 自定义函数的计算结果
Type
*
例子
//在wps的公式中直接使用jsaLambda或k来调用超级透视 具体见3.28节<KO一切的K函数 在单元格中随心所欲调用JSA代码>课
=jsaLambda("$$.superPivot",A1:H40,"f3,f2","f6","sum(`f4*f5`),textjoin(`f4+'*'+f5`,`+`)")

z矩阵分布(总行数, 规定列数, 方向) → {Array}

说明:
  • 这个函数用于将总行数按规定列数和方向排版, 返回排版后的数字序列(从0开始到总行数-1)的二维数组
别名:
  • getMatrix
参数列表:
参数名称 参数类型 备注
总行数 Number
规定列数 Number
方向 string 'r': 先行后列 'c': 先列后行
返回值:
排版后的数字序列(从0开始到总行数-1)的二维数组
Type
Array
例子
//示例1	
var arr = [[1,"A1",124,11],
           [2,"A2",171,16],
		 [3,"A3",135,12],
		 [4,"A4",156,14],
		 [5,"A5",127,11],
		 [6,"A6",126,13],
		 [7,"A7",128,15]];
var rs=Array2D.z矩阵分布(arr.length,4,'r'); //4列, 先行后列
logjson(rs);
//输出结果
[[0,1,2,3],
 [4,5,6]]
//示例2
var rs=Array2D.z矩阵分布(arr.length,4,'c'); //4列, 先列后行
logjson(rs);
//输出结果
[[0,2,4,6],
 [1,3,5]]

getMatrix(总行数, 规定列数, 方向) → {Array}

说明:
  • 这个函数用于将总行数按规定列数和方向排版, 返回排版后的数字序列(从0开始到总行数-1)的二维数组
别名:
  • z矩阵分布
参数列表:
参数名称 参数类型 备注
总行数 Number
规定列数 Number
方向 string 'r': 先行后列 'c': 先列后行
返回值:
排版后的数字序列(从0开始到总行数-1)的二维数组
Type
Array
例子
//示例1	
var arr = [[1,"A1",124,11],
	 [2,"A2",171,16],
   [3,"A3",135,12],
   [4,"A4",156,14],
   [5,"A5",127,11],
   [6,"A6",126,13],
   [7,"A7",128,15]];
var rs=Array2D.getMatrix(arr.length,4,'r'); //4列, 先行后列
logjson(rs);
//输出结果
[[0,1,2,3],
[4,5,6]]
//示例2
var rs=Array2D.getMatrix(arr.length,4,'c'); //4列, 先列后行
logjson(rs);
//输出结果
[[0,2,4,6],
[1,3,5]]