# 内置函数

# 功能说明

平台的内置函数功能可用于处理特定的场景下的需求,如类型转换、字符串处理,对日期与时间的处理,对数组的处理等。

# 类型转换与格式化函数

函数名称 输入参数 功能介绍
Convert value:选择变量或常量
ConverTo:选择转换后的数据类型
各基础数据类型之间转换
FormatDate date:指定需要格式化日期的字段
formatter:格式化规则,默认为yyyy-MM-dd,即年月日格式
返回格式化日期字符串,支持调整间隔符或删除部分内容,如仅保留MM-dd则仅展示月日
FormatDateTime date:指定需要格式化日期时间的字段
formatter:格式化规则,默认为yyyy-MM-dd HH:mm:ss,即年月日时分秒格式
返回格式化日期时间字符串,支持调整间隔符或删除部分内容,如仅保留MM-dd则仅展示月日查看示例
FormatNumber value:指定需要格式化小数位数的字段
digits:保留小数位数
showGroups:是否显示千分位,true为显示,false为不显示
返回格式化的数字字符串
FromString value:指定需要转换的变量或常量,String类型
ConvertTo:指定转换后的数据类型
支持将String类型转换为其他类型
ToString value:指定需要转换的变量或常量 支持将其他类型的变量或常量转换为String类型

# 字符串函数

函数名称 输入参数 功能介绍
Concat str1:指定字符串1
str2:指定字符串2
添加参数:支持添加str3、str4、str5等进行字符串拼接,后标数字越小排列越前
将所有字符串参数连接并返回连接后的字符串
IndexOf str:指定字符串
search:指定需要搜索的字段,String类型
fromIndex:开始搜索的索引值,Integer类型,用数字表示第几项,项数索引从0开始
ignoreCase:是否忽略大小写,true为忽略,false为不忽略
从指定的索引开始搜索字符串中指定字段所在位置,返回第一个找到该字段的索引值,若找不到该字段,则返回-1
Join list:指定列表
separator:连接符,用于连接列表中的项
将列表的项,用连接符连接成一个字符串,并返回
LastIndexOf str:指定字符串
search:指定需要搜索的字段,String类型
ignoreCase:是否忽略大小写,true为忽略,false为不忽略
从末尾开始搜索字符串中指定字段所在位置,返回第一个找到该字段的索引值,若找不到该字段,则返回-1
Length param:指定字符串 返回字符串长度
Replace str:指定原始字符串
search:指定原始字符串中需要被替换的字符串
replace:指定进行替换操作的字符串
字符串替换并返回替换后的字符串
例子:
str:'abcdefg'
search:'ab'
replace:'11'
输出结果:'11cdefg'
Split str:指定字符串
separator:指定字符串中作为分隔符的参数
将字符串用分割符分割成字符串列表,并返回
例子:
str:''姓名a籍贯a年龄''
separator:'a'
输出结果:["姓名","籍贯","年龄"]
SubString str:指定需要截取的字符串
start:int类型,输入数字指定开始截取的位置
length:指定截取的字符串长度
字符串截取并输出截取后的字符串
例子:
str:'abcdefg'
start:3
length:3
输出结果:'def'
ToLower str1:指定字符串 返回全部小写的字符串
ToUpper str1:指定字符串 返回全部大写的字符串
Trim str1:指定字符串 返回删除前后空格的字符串

# 日期与时间函数

函数名称 输入参数 功能介绍
AddDays dateTime:指定日期时间
amount:增加的天数
返回天数加法计算结果
AddMonths dateTime:指定日期时间
amount:增加的月数
返回月份加法计算结果
CurrDate - 返回当前日期
CurrDateTime - 返回当前日期时间
CurrTime - 返回当前时间
DateDiff dateTime1:指定日期时间1
dateTime2:指定日期时间2
calcType:计算类型。计算两个日期时间之间的差值,支持年数、季度数、月数、星期数、天数、小时数、分钟数、秒数
根据选择的计算类型,返回两个日期时间之间的差值
例子:
dateTime1:2023-02-09T16:00:00.000Z
dateTime2:2023-02-04T16:00:00.000Z
calcType:天数
输出结果:5

# 列表(List)函数

函数名称 输入参数 功能介绍
Add list:指定列表
item:指定需要在列表末尾增加的项
在列表末尾追加项
例子:
list:[0,1,2,3,4]
item:5
输出结果:[0,1,2,3,4,5]
AddAll list:指定列表1
addList:指定列表2
将列表2中的项加到列表1的末尾,并返回追加项后列表1的长度
例子:
list:[0,1,2,3,4]
addList:[7,8,9,10]
输出结果:列表1变更为[0,1,2,3,4,7,8,9,10],同时输出返回值9
Average list:指定数值类型列表 返回数值列表中所有项的平均值
Contains list:指定列表
item:指定项
测试列表是否包含某一项,返回测试结果,若包含则返回true,不包含则返回false
CreateListPage list:指定列表
total:指定数据的条数
将List<T>列表转换为列表分页
Distinct list:指定列表 为列表去除重复项
DistinctBy list:指定列表
by:指定列表中项的某个属性,若项无属性,则该函数不生效
按by挑中中项的属性为列表去除重复项
Filter list:指定列表
by:指定列表中项的某个属性或项本身,通过算数运算、比较运算或逻辑运算进行条件判断并输出布尔值
返回列表中符合条件的所有项
Find list:指定列表
by:指定列表中项的某个属性或项本身,通过算数运算、比较运算或逻辑运算进行条件判断并输出布尔值
返回列表中第一个符合条件的项
FindIndex list:指定列表
by:指定列表中项的某个属性或项本身,通过算数运算、比较运算或逻辑运算进行条件判断并输出布尔值
返回列表中第一个符合条件的项的索引值,若找不到符合条件的项,则返回-1
Flatten list:指定列表 将嵌套列表摊平一层并返回
Get list:指定列表
index:索引,integer类型,用数字表示第几项,项数索引从0开始
获得列表位于指定索引处的项
例子:
list:[0,1,2,3,4]
index:3
输出结果:3
GroupBy list:指定列表
by:指定列表中项的某个属性,若项无属性,则该函数不生效
按列表中项的某个属性为列表分组,以选中的属性为key,原项作为value生成Map。
例子:
list:[{age: 18, name: z}, {age: 18, name: zz}, {age: 20, name: zzz}]
by:age
输出结果:Map{18 → [{age: 18, name: z}, {age: 18, name: zz}], 20-->[{age: 20, name: zzz}] }
Head list:指定列表 返回列表的首项
Insert list:指定列表
index:索引,integer类型,用数字表示第几项,项数索引从0开始
item:待插入项
在列表的指定索引处插入新项(原索引项依次后推)
Last list:指定列表 返回列表的末项
Max list:指定数值类型列表 返回数值列表中所有项的最大值
Min list:指定数值类型列表 返回数值列表中所有项的最小值
Product list:指定数值类型列表 返回数值列表中所有项的积
Remove list:指定列表
item:指定项
删除列表中的某项
RemoveAt list:指定列表
index:索引,integer类型,用数字表示第几项,项数索引从0开始
在列表中删除位于指定索引的项
Reverse list:指定列表 将列表的所有项反向排列
Set list:指定列表
index:索引,integer类型,用数字表示第几项,项数索引从0开始
item:列表指定索引下的新项
为列表指定索引赋值(覆盖原索引项)
Slice list:指定列表
start:切片起始的索引,integer类型,项数索引从0开始
end:切片结束的索引,integer类型,用数字表示第几项,项数索引从0开始
将列表按照规则切片,返回切片后的子列表
例子:
list:[0,1,2,3,4,5]
start:3
end:5
输出结果:[3,4]
SliceToListPage list:指定列表
page:页数,integer类型,从1开始
size:每页的大小,integer类型
将列表按照规则切片,返回切片后的列表分页
Sort list:指定列表
by:指定列表中项的某个属性或项本身,支持算数运算和比较运算
sort:支持升序或降序设置,asc为升序,desc为降序。
为列表按指定规则排序查看示例
Sum list:指定列表 返回数值列表中所有项的和
ToMap list:指定列表
by:根据项的属性及其本身进行key和value的定义
指定列表List,选取项的属性或自身作为key,选取T的属性或自身作为value,构成Map。
Transform list:指定列表
by:指定对列表中项的某个属性或项本身的处理方式,支持算数运算和比较运算
对列表的每一项调用函数by,得到新项,最终返回新项构成的列表

# 映射(Map)函数

函数名称 输入参数 功能介绍
Contains map:指定映射
key:指定参数key
指定Map中是否存在参数key的键值对,返回布尔值
Filter map:指定映射
by:针对键值对的参数key和value设置过滤条件,支持算数运算、比较运算和逻辑运算
在指定的Map中过滤出符合条件参数的键值对,并返回由所有符合条件的键值对构成的新Map
Get map:指定映射
key:指定参数key
查询出Map中key为指定值的value值列表
Keys map:指定映射 输出Map中key的列表
Put map:指定映射
key:指定参数key
value:指定参数value
为Map中添加键值对
Remove map:指定映射
key:指定参数key
删除Map中的键值对
Transform list:指定映射
by:指定映射中键值对的参数处理方式,支持算数运算和比较运算
对Map的每一项调用函数by,得到新项,最终返回新项构成的Map
Values map:指定映射 输出Map中Value的列表

# 枚举函数

函数名称 输入参数 功能介绍
EnumToList enum:指定枚举 返回枚举中枚举值value和标题text的List集合
EnumValueToText value:指定需要将枚举值转换为标题的字段
enum:指定枚举
返回枚举中指定枚举值value的标题text字符串查看示例
StringToEnumValue value:指定一个字符串
enum:指定枚举
将指定的字符串和指定枚举中的枚举值value进行匹配,确认指定枚举中是否存在与该指定字符串相同的枚举值value:
若存在相同的枚举值value,则返回枚举类型的value值
若不存在相同的枚举值value,则返回null

# 其他函数

函数名称 输入参数 功能介绍
Clear struct:指定对象 清除对象数据
Clone struct:指定对象 复制一个所选参数的实例
New New:选择一个数据类型 创建一个所选数据类型的实例
RandomInt start:起始数字,Integer类型
end:截止数字,Integer类型
在参数限制范围内产生随机整数

# 常用内置函数举例

# 枚举值转换为标题函数EnumValueToText

  1. 需要显示枚举类型的数据时,直接取值则会显示数据库实体表中的value,而非枚举标题,不易于用户阅读使用,如下图所示:

    image-20210717201313693

  1. 若需要将枚举值value转换为标题,则可使用内置函数EnumValueToText。

    • value:指定需要将枚举值转换为标题的字段。

    • enum:指定枚举。

    image-20230322170442327

  2. 通过内置函数转换后结果如下图所示:

    image-20210717201440027

# 格式化日期时间FormatDateTime

 1. 如果直接获取数据库中存储的时间结果如下图所示,不利于阅读:image-20210717195230546

 2. 使用内置函数格式化数据库中存储的时间。

image-20230208153145175

 3. 通过内置函数转化后结果如下图所示:

image-20210717195842218

# 字符串排序函数Sort

以List<Product>集合为例进行排序,Product实体包含如下属性:

image-20230208141713274

常见用法示例

  • 按单价升序:

    image-20230208142342836

  • 按先类别后单价升序:

    image-20230208143657242

上次更新: 2023年06月14日