自适应表达式预生成函数

适用于: SDK v4

本文列出了按常规用途排序的可用预生成函数。 有关预生成函数和表达式语法中使用的运算符的信息,请参阅 运算符

预生成表达式分为以下函数类型:

还可以按 字母顺序查看列表。

字符串函数

功能 解释
长度 返回字符串的长度。
替换 将子字符串替换为指定的字符串并返回更新后的字符串。 此函数区分大小写。
replaceIgnoreCase 将子字符串替换为指定的字符串,并返回更新后的字符串。 此函数不区分大小写。
拆分 返回一个数组,该数组包含基于指定的分隔符的子字符串。
子字符串 从字符串返回字符。
toLower 以可选区域设置格式以小写形式返回字符串。
toUpper 以可选区域设置格式返回大写字符串。
剪裁 从字符串中删除前导空格和尾随空格。
addOrdinal 返回输入编号的序号。
endsWith 检查字符串是否以特定的子字符串结尾。 如果找到子字符串,则返回 true;如果未找到,则返回 false。 此函数不区分大小写。
startsWith 检查字符串是否以特定的子字符串开头。 如果找到子字符串,则返回 true;如果未找到,则返回 false。 此函数不区分大小写。
countWord 返回给定字符串中的单词数。
concat 合并两个或多个字符串并返回生成的字符串。
newGuid 返回新的 Guid 字符串。
indexOf 返回子字符串的起始位置或索引值 搜索指定的对象,并返回整个列表中第一个匹配项的从零开始的索引。 此函数不区分大小写,索引以数字 0 开头。
lastIndexOf 返回子字符串 搜索指定对象的最后一个匹配项的起始位置或索引值,并返回列表中元素范围内最后一个匹配项的从零开始的索引。此函数不区分大小写,索引以数字 0 开头。
sentenceCase 将字符串中的第一个单词的第一个字母大写为可选本地格式。
titleCase 以可选区域设置格式大写每个单词的第一个字母。
反向 反转字符串或数组中元素的顺序。

集合函数

功能 解释
包含 用于查找字符串中的项、在数组中查找项或查找复杂对象中的参数。
示例
contains('hello world', 'hello')
contains(createArray('1','2'), '1')
contains(json(“{'foo':'bar'}”),'foo')
第一个 从集合中返回第一项。
加入 返回一个字符串,其中包含数组中的所有项,并且每个字符由分隔符分隔。
示例
join(createArray('a','b'), '.') = “a.b”
上次 从集合中返回最后一项。
计数 返回集合中的项数。
foreach 对每个元素进行作并返回新集合。
联合 返回包含指定集合中的所有项的集合。
跳过 从集合的前面删除项,并返回剩余的项。
需要 从集合的前面返回项。
交集 返回一个集合,该集合中只有指定集合中的常用项。
subArray 从指定的开始和结束位置返回子数组。 索引值以数字 0 开头。
选择 对每个元素进行作,并返回已转换元素的新集合。
筛选每个元素,并返回与特定条件匹配的筛选元素的新集合。
sortBy 按升序对集合中的元素进行排序,并返回排序的集合。
sortByDescending 按降序对集合中的元素进行排序,并返回排序的集合。
索引AndValues 将数组或对象转换为具有索引和值属性的对象数组。
平展 将数组平展为具有非数组值的数组。
唯一 从数组中删除所有重复项。
任何 确定序列的任何元素是否满足条件。
所有 确定序列的所有元素是否满足条件。
反向 反转字符串或数组中元素的顺序。
合并 将数组中的多个 JSON 对象或项合并在一起。

逻辑比较函数

功能 解释
逻辑和。 如果所有指定的表达式的计算结果为 true,则返回 true。
等于 比较相等。 如果指定的值相等,则返回 true。
检查目标是否为空。
更大的 大于的比较。 如果第一个值更多,则返回 true;如果小于,则返回 false
更大的OrEquals 大于或等于的比较。 如果第一个值大于或等于,则返回 true;如果第一个值小于,则返回 false
(如果 检查表达式是 true 还是 false。 根据结果返回指定的值。
更少 比较小于作。 如果第一个值更少,则返回 true;如果第一个值更多,则返回 false
lessOrEquals 比较小于或等于运算。 如果第一个值小于或等于,则返回 true;如果第一个值更多,则返回 false
逻辑非运算符。 如果表达式为 false,则返回 true;如果为 true,则返回 false
逻辑或作。 如果至少有一个表达式为 true,则返回 true;如果所有表达式均为 false,则返回 false
存在 计算表达式的真实性。

转换函数

功能 解释
浮点数 返回指定字符串的浮点表示形式。
int 返回指定字符串的整数表示形式。
字符串 以可选区域设置格式返回指定值的字符串版本。
布尔 返回指定字符串的布尔表示形式。
createArray 从多个输入创建数组。
json 返回字符串或 XML 的 JavaScript 对象表示法(JSON)类型值或对象。
base64 返回字符串或字节数组的 base64 编码版本。
base64ToBinary 返回 base64 编码字符串的二进制版本。
base64ToString 返回 base64 编码字符串的字符串版本。
二进制 返回输入值的二进制版本。
dataUri 返回输入值的 URI。
dataUriToBinary 返回数据 URI 的二进制版本。
dataUriToString 返回数据 URI 的字符串版本。
uriComponent 通过将 URL 不安全字符替换为转义字符,返回输入值的 URI 编码版本。
uriComponentToString 返回 URI 编码字符串的字符串版本。
xml 返回字符串的 XML 版本。
formatNumber 将值格式化为最接近的数字,以指定的小数位数和可选的指定区域设置。
jsonStringify 返回值的 JSON 字符串。
stringOrValue 包装字符串内插以获取实际值。 例如,stringOrValue('${1}') 返回数字 1,而 stringOrValue('${1} item') 返回字符串“1 项”。

数学函数

功能 解释
abs 返回指定数字的绝对值。
添加 数学和。 返回两个数字(纯数字大小写)或连接两个或多个字符串的结果。
div 数学除法。 返回除以两个数字的整数结果。
最大 从集合中返回最大值。
分钟 从集合中返回最小值。
mod 返回除以两个数字的余数。
mul 数学乘法。 返回乘以两个数字的产品。
兰德 返回指定最小值和最大值之间的随机数。
sqrt 返回指定数字的平方根。
数学减法。 返回从第一个数字中减去第二个数字的结果。
总和 返回数组中数字的总和。
范围 返回从指定整数开始的整数数组。
exp 将一个数字的指数返回到另一个数字。
平均 返回数值数组的平均数。
地板 返回小于或等于指定数字的最大整型值。
天花板 返回大于或等于指定数字的最小整型值。
将值舍入到最接近的整数或指定的小数位数。

日期和时间函数

功能 解释
addDays 以可选区域设置格式将指定天数添加到给定时间戳。
addHours 以可选区域设置格式将指定的小时数添加到给定时间戳。
addMinutes 以可选区域设置格式将指定分钟数添加到给定时间戳。
addSeconds 将指定的秒数添加到给定时间戳。
dayOfMonth 返回给定时间戳或 Timex 表达式的月份日期。
dayOfWeek 返回给定时间戳的星期几。
dayOfYear 返回给定时间戳的年份日期。
formatDateTime 以可选区域设置格式返回时间戳。
formatEpoch 从 UNIX Epoch 时间(Unix 时间、POSIX 时间)返回采用可选区域设置格式的时间戳。
formatTicks 从刻度返回采用可选区域设置格式的时间戳。
减去FromTime 用可选区域设置格式从时间戳中减去一些时间单位。
utcNow 以可选区域设置格式作为字符串返回当前时间戳。
dateReadBack 使用日期时间库提供日期读回。
返回给定时间戳的月份。
日期 返回给定时间戳的日期。
返回给定时间戳的年份。
getTimeOfDay 返回给定时间戳的一天时间。
getFutureTime 以可选区域设置格式和指定的时间单位返回当前时间戳。
getPastTime 以可选区域设置格式返回当前时间戳,减去指定的时间单位。
addToTime 以可选区域设置格式将多个时间单位添加到时间戳中。
convertFromUTC 从世界时协调(UTC)转换采用可选区域设置格式的时间戳。
convertToUTC 将采用可选区域设置格式的时间戳转换为世界时协调(UTC)。
startOfDay 以可选区域设置格式返回时间戳的开始日期。
startOfHour 以可选区域设置格式返回时间戳的小时开始时间。
startOfMonth 以可选区域设置格式返回时间戳的月份开始时间。
刻度 返回指定时间戳的刻度属性值。
ticksToDays 将刻度属性值转换为天数。
ticksToHours 将刻度属性值转换为小时数。
ticksToMinutes 将刻度属性值转换为分钟数。
dateTimeDiff 返回两个时间戳之间的刻度差异。
getPreviousViableDate 根据当前日期和可选的指定时区返回 Timex 表达式的上一个可行日期。
getNextViableDate 根据当前日期和可选的指定时区返回 Timex 表达式的下一个可行日期。
getPreviousViableTime 根据当前时间和可选的指定时区返回 Timex 表达式的上一个可行时间。
getNextViableTime 根据当前时间和可选的指定时区返回 Timex 表达式的下一个可行时间。

Timex 函数

功能 解释
isPresent 如果 TimexProperty 或 Timex 表达式引用当前表达式,则返回 true。
isDuration 如果 TimexProperty 或 Timex 表达式引用持续时间,则返回 true。
isTime 如果 TimexProperty 或 Timex 表达式引用某个时间,则返回 true。
isDate 如果 TimexProperty 或 Timex 表达式引用日期,则返回 true。
isTimeRange 如果 TimexProperty 或 Timex 表达式引用时间范围,则返回 true。
isDateRange 如果 TimexProperty 或 Timex 表达式引用日期范围,则返回 true。
isDefinite 如果 TimexProperty 或 Timex 表达式引用了明确的一天,则返回 true。
解析 如果给定的 TimexProperty 或 Timex 表达式引用有效时间,则返回字符串。 有效时间包含小时、分钟和秒。

URI 分析函数

功能 解释
uriHost 返回统一资源标识符(URI)的主机值。
uriPath 返回统一资源标识符(URI)的路径值。
uriPathAndQuery 返回统一资源标识符(URI)的路径和查询值。
uriPort 返回统一资源标识符(URI)的端口值。
uriQuery 重新调整统一资源标识符(URI)的查询值。
uriScheme 返回统一资源标识符(URI)的方案值。

对象作和构造函数

功能 解释
addProperty 将属性及其值或名称值对添加到 JSON 对象并返回更新的对象。
removeProperty 从 JSON 对象中删除属性并返回更新的对象。
setProperty 设置 JSON 对象的属性的值并返回更新的对象。
getProperty 从 JSON 对象返回指定属性或根属性的值。
合并 从一个或多个参数返回第一个非 null 值。
xPath 检查 XML 中是否存在与 XPath(XML 路径语言)表达式匹配的节点或值,并返回匹配的节点或值。
jPath 检查 JSON 或 JSON 字符串中是否存在与路径表达式匹配的节点或值,并返回匹配的节点。
setPathToValue 设置特定路径的值并返回该值。

正则表达式函数

功能 解释
isMatch 如果字符串与通用正则表达式模式匹配,则返回 true。

类型检查函数

功能 解释
EOL 返回行(EOL)序列文本的末尾。
isInteger 如果给定输入为整数,则返回 true
isFloat 如果给定输入为浮点数,则返回 true
isBoolean 如果给定的输入为布尔值,则返回 true。
isArray 如果给定的输入是数组,则返回 true。
isObject 如果给定的输入是对象,则返回 true。
isDateTime 如果给定输入为 UTC ISO 格式时间戳,则返回 true。
isString 如果给定的输入是字符串,则返回 true

按字母顺序排序的预生成函数

abs

返回指定数字的绝对值。

abs(<number>)
参数 必填 类型 描述
< 数字> 是的 要获取绝对值的数字
返回值 类型 描述
< 结果> 计算绝对值的结果。

示例

这些示例计算绝对值:

abs(3.12134)
abs(-3.12134)

两者都返回结果 3.12134

返回添加两个或多个数字(纯数字大小写)或连接两个或多个字符串(其他大小写)的结果。

add(<item1>, <item2>, ...)
参数 必填 类型 描述
< item1>,<item2>,... 是的 任何 项目
返回值 类型 描述
< 结果求和> number 或 string 添加指定数字或 concat 结果的结果。

示例

此示例添加指定的数字:

add(1, 1.5)

并返回结果 2.5

此示例连接指定的项:

add('hello',null)
add('hello','world')

并返回结果

  • hello
  • helloworld

addDays

以可选区域设置格式将天数添加到时间戳。

addDays('<timestamp>', <days>, '<format>'?, '<locale>'?)
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串,该时间戳必须是标准 UTC ISO 格式
YYYY-MM-DDTHH:mm:ss.fffZ
< > 是的 整数 要添加的正天数或负天数
< 格式> 字符串 自定义格式模式。 时间戳的默认格式为 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
< 更新时间戳> 字符串 时间戳加上指定的天数

示例 1

此示例将 10 天添加到指定的时间戳:

addDays('2018-03-15T13:00:00.000Z', 10)

并返回结果 2018-03-25T00:00:00.000Z

示例 2

此示例从指定的时间戳中减去五天:

addDays('2018-03-15T00:00:00.000Z', -5)

并返回结果 2018-03-10T00:00:00.000Z

示例 3

此示例将 1 天添加到 de-DE 区域设置中的指定时间戳:

addDays('2018-03-15T13:00:00.000Z', 1, '', 'de-dE')

并返回结果 16.03.18 13:00:00

addHours

以可选区域设置格式将小时数添加到时间戳。

addHours('<timestamp>', <hours>, '<format>'?, '<locale>'?)
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串
< 小时> 是的 整数 要添加的正小时数或负小时数
< 格式> 字符串 自定义格式模式。 时间戳的默认格式为 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
< 更新时间戳> 字符串 时间戳加上指定的小时数

示例 1

此示例将 10 小时添加到指定的时间戳:

addHours('2018-03-15T00:00:00.000Z', 10)

并返回结果 2018-03-15T10:00:00.000Z

示例 2

此示例从指定的时间戳中减去 5 小时:

addHours('2018-03-15T15:00:00.000Z', -5)

并返回结果 2018-03-15T10:00:00.000Z

示例 3

此示例将 2 小时添加到 de-DE 区域设置中的指定时间戳:

addHours('2018-03-15T13:00:00.000Z', 2, '', 'de-DE')

并返回结果 15.03.18 15:00:00

addMinutes

以可选区域设置格式向时间戳添加分钟数。

addMinutes('<timestamp>', <minutes>, '<format>'?, '<locale>'?)
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串
< 分钟> 是的 整数 要添加的正或负分钟数
< 格式> 字符串 自定义格式模式。 时间戳的默认格式为 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
< 更新时间戳> 字符串 时间戳加上指定的分钟数

示例 1

此示例将 10 分钟添加到指定的时间戳:

addMinutes('2018-03-15T00:10:00.000Z', 10)

并返回结果 2018-03-15T00:20:00.000Z

示例 2

此示例从指定的时间戳中减去 5 分钟:

addMinutes('2018-03-15T00:20:00.000Z', -5)

并返回结果 2018-03-15T00:15:00.000Z

示例 3

此示例将 30 分钟添加到 de-DE 区域设置中的指定时间戳:

addMinutes('2018-03-15T00:00:00.000Z', 30, '', 'de-DE')

并返回结果 15.03.18 13:30:00

addOrdinal

返回输入编号的序号。

addOrdinal(<number>)
参数 必填 类型 描述
< 数字> 是的 整数 要转换为序号的数字
返回值 类型 描述
< 结果> 字符串 从输入数字转换的序号

示例

addOrdinal(11)
addOrdinal(12)
addOrdinal(13)
addOrdinal(21)
addOrdinal(22)
addOrdinal(23)

并分别返回以下结果:

  • 第 11
  • 第 12
  • 第 13
  • 第 21
  • 第 22
  • 第 23

addProperty

将属性及其值或名称值对添加到 JSON 对象,并返回更新的对象。 如果对象已在运行时存在,函数将引发错误。

addProperty('<object>', '<property>', value)
参数 必填 类型 描述
< 对象> 是的 对象 要在其中添加属性的 JSON 对象
< 属性> 是的 字符串 要添加的属性的名称
< > 是的 任何 属性的值
返回值 类型 描述
< updated-object> 对象 添加新属性后更新的 JSON 对象

示例

此示例将 accountNumber 属性添加到 customerProfile 对象,该对象使用 json() 函数转换为 JSON。 该函数分配由 newGuid() 函数生成的值,并返回更新的对象:

addProperty(json('customerProfile'), 'accountNumber', newGuid())

addSeconds

将秒数添加到时间戳。

addSeconds('<timestamp>', <seconds>, '<format>'?)
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串
< > 是的 整数 要添加的正秒数或负秒数
< 格式> 字符串 自定义格式模式。 时间戳的默认格式为 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
返回值 类型 描述
< 更新时间戳> 字符串 时间戳加上指定的秒数

示例 1

此示例将 10 秒添加到指定的时间戳:

addSeconds('2018-03-15T00:00:00.000Z', 10)

并返回结果 2018-03-15T00:00:10.000Z

示例 2

此示例将五秒减去指定的时间戳:

addSeconds('2018-03-15T00:00:30.000Z', -5)

并返回结果 2018-03-15T00:00:25.000Z

addToTime

以可选区域设置格式将多个时间单位添加到时间戳中。 另请参阅 getFutureTime()

addToTime('<timestamp>', '<interval>', <timeUnit>, '<format>'?, '<locale>'?)
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串
< 间隔> 是的 整数 要添加的指定时间单位数
< timeUnit> 是的 字符串 间隔一起使用的时间单位。 可能的单位为“Second”、“Minute”、“Hour”、“Day”、“Week”、“Month”和“Year”。
< 格式> 字符串 自定义格式模式。 时间戳的默认格式为 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
< 更新时间戳> 字符串 时间戳加上具有给定格式的指定时间单位数。

示例 1

本示例向指定的时间戳添加一天。

addToTime('2018-01-01T00:00:00.000Z', 1, 'Day')

并返回结果 2018-01-02T00:00:00.000Z

示例 2

本示例将两周添加到指定的时间戳。

addToTime('2018-01-01T00:00:00.000Z', 2, 'Week', 'MM-DD-YY')

并将结果以“MM-DD-YY”格式返回为 01-15-18

确定序列的所有元素是否满足条件。

all(<sequence>, <item>, <condition>)
参数 必填 类型 描述
< 序列> 是的 对象 要计算的序列。
< > 是的 字符串 指要在序列中计算的元素。
< 条件> 是的 表达 要计算条件的表达式。
返回值 类型 描述
true 或 false 布尔 如果所有元素都满足条件,则返回 true。 如果至少有一个未返回,则返回 false

示例

这些示例确定序列的所有元素是否满足条件:

all(createArray(1, 'cool'), item, isInteger(item))
all(createArray(1, 2), item => isInteger(item))

并分别返回以下结果:

  • false,因为序列中的两个项不是整数。
  • true,因为序列中的两个项都是整数。

检查所有表达式是否均为 true。 如果所有表达式均为 true,则返回 true;如果至少有一个表达式为 false,则返回 false

and(<expression1>, <expression2>, ...)
参数 必填 类型 描述
< expression1>, <expression2>, ... 是的 布尔 要检查的表达式
返回值 类型 描述
true 或 false 布尔 如果所有表达式均为 true,则返回 true。 如果至少有一个表达式为 false,则返回 false

示例 1

这些示例检查指定的布尔值是否全部为 true:

and(true, true)
and(false, true)
and(false, false)

并分别返回以下结果:

  • 这两个表达式均为 true,因此函数返回 true
  • 一个表达式为 false,因此函数返回 false
  • 这两个表达式均为 false,因此函数返回 false

示例 2

这些示例检查指定的表达式是否全部为 true:

and(equals(1, 1), equals(2, 2))
and(equals(1, 1), equals(1, 2))
and(equals(1, 2), equals(1, 3))

并分别返回以下结果:

  • 这两个表达式均为 true,因此函数返回 true
  • 一个表达式为 false,因此函数返回 false
  • 这两个表达式均为 false,因此函数返回 false

任何

确定序列的任何元素是否满足条件。

all(<sequence>, <item>, <condition>)
参数 必填 类型 描述
< 序列> 是的 对象 要计算的序列。
< > 是的 字符串 指要在序列中计算的元素。
< 条件> 是的 表达 要计算条件的表达式。
返回值 类型 描述
true 或 false 布尔 如果所有元素都满足条件,则返回 true。 如果至少有一个未返回,则返回 false

示例

这些示例确定序列的所有元素是否满足条件:

any(createArray(1, 'cool'), item, isInteger(item))
any(createArray('first', 'cool'), item => isInteger(item))

并分别返回以下结果:

  • true,因为序列中的至少一项是整数
  • false,因为序列中的项都不是整数。

平均

返回数值数组的数字平均值。

average(<numericArray>)
参数 必填 类型 描述
< numericArray> 是的 数字数组 要计算平均值的输入数组
返回值 类型 描述
< 数组平均值> 给定数组的平均值

示例

此示例计算 createArray()中数组的平均值:

average(createArray(1,2,3))

并返回结果 2

base64

返回字符串或字节数组的 base64 编码版本。

base64('<value>')
参数 必填 类型 描述
< > 是的 字符串或字节数组 输入字符串
返回值 类型 描述
< base64 字符串> 字符串 输入字符串的 base64 编码版本

示例 1

此示例将字符串 hello 转换为 base64 编码的字符串:

base64('hello')

并返回结果 “aGVsbG8=”

示例 2

此示例采用 byteArr,它等于 new byte[] { 3, 5, 1, 12 }

base64('byteArr')

返回结果 “AwUBDA==”

base64ToBinary

返回 base64 编码字符串的二进制数组。

base64ToBinary('<value>')
参数 必填 类型 描述
< > 是的 字符串 要转换的 base64 编码字符串
返回值 类型 描述
< binary-for-base64-string> 字节数组 base64 编码字符串的二进制版本

示例

此示例将 base64 编码的字符串 AwUBDA== 转换为二进制字符串:

base64ToBinary('AwUBDA==')

并返回结果 新的字节[] { 3, 5, 1, 12 }

base64ToString

返回 base64 编码字符串的字符串版本,有效地解码 base64 字符串。

base64ToString('<value>')
参数 必填 类型 描述
< > 是的 字符串 要解码的 base64 编码字符串
返回值 类型 描述
< 解码的 base64-string> 字符串 base64 编码字符串的字符串版本

示例

此示例将 base64 编码的字符串 aGVsbG8= 转换为解码的字符串:

base64ToString('aGVsbG8=')

并返回 hello 的结果

二元的

返回字符串的二进制版本。

binary('<value>')
参数 必填 类型 描述
< > 是的 字符串 要转换的字符串
返回值 类型 描述
< binary-for-input-value> 字节数组 指定字符串的二进制版本

示例

此示例将字符串 hello 转换为二进制字符串:

binary('hello')

返回结果 新的字节[] { 104, 101, 108, 108, 111 }

bool

返回值的布尔版本。

bool(<value>)
参数 必填 类型 描述
< > 是的 任何 要转换的值
返回值 类型 描述
true 或 false 布尔 指定值的布尔版本

示例

这些示例将指定值转换为布尔值:

bool(1)
bool(0)

并分别返回以下结果:

  • true
  • false

天花板

返回小于或等于指定数字的最大整型值。

ceiling('<number>')
参数 必填 类型 描述
< 数字> 是的 输入编号
返回值 类型 描述
< 整数值> 整数 大于或等于输入数字的最大整数值

示例

此示例返回小于或等于 10.333 的数字的最大整数值

ceiling(10.333)

并返回整数 11

合并

从一个或多个参数返回第一个非 null 值。 空字符串、空数组和空对象不为 null。

coalesce(<object**1>, <object**2>, ...)
参数 必填 类型 描述
< object**1>, <object**2>, ... 是的 任何(可接受的混合类型) 要检查是否为 null 的一个或多个项
返回值 类型 描述
< 第一个非 null 项> 任何 第一个不为 null 的项或值。 如果所有参数均为 null,则此函数返回 null。

示例

这些示例返回指定值中的第一个非 null 值,如果所有值均为 null,则返回 null:

coalesce(null, true, false)
coalesce(null, 'hello', 'world')
coalesce(null, null, null)

分别返回:

  • true
  • hello

concat

合并两个或多个对象,并在列表或字符串中返回合并的对象。

concat('<text1>', '<text2>', ...)
参数 必填 类型 描述
< object1>,<object2>,... 是的 任何 至少要连接两个对象。
返回值 类型 描述
< object1object2...> 字符串或列表 组合的字符串或列表。 跳过 Null 值。

预期返回值:

  • 如果所有项都是列表,则返回一个列表。
  • 如果存在不是列表的项,将返回一个字符串。
  • 如果值为 null,则会跳过该值,且不会连接。

示例

此示例合并了 hello World 字符串:

concat('Hello', 'World')

并返回 helloWorld 结果。

示例 2

此示例合并了列表 [1,2][3,4]

concat([1,2],[3,4])

并返回结果 [1,2,3,4]

示例 3

这些示例合并不同类型的对象:

concat('a', 'b', 1, 2)
concat('a', [1,2])

并分别返回以下结果:

  • 字符串 ab12
  • 对象 aSystem.Collections.Generic.List 1[System.Object]。 这是不可读的,最好避免。

示例 4

这些示例将组合对象 null

concat([1,2], null)
concat('a', 1, null)

并分别返回以下结果:

  • 列表 [1,2]
  • 字符串 a1

包含

检查集合是否具有特定项。 如果找到该项,则返回 true;如果未找到,则返回 false。 此函数区分大小写。

contains('<collection>', '<value>')
contains([<collection>], '<value>')

此函数适用于以下集合类型:

  • 用于查找子字符串的字符串
  • 用于查找值的数组
  • 用于查找键的字典
参数 必填 类型 描述
< 集合> 是的 字符串、数组或字典 要检查的集合
< > 是的 字符串、数组或字典分别 要查找的项
返回值 类型 描述
true 或 false 布尔 如果找到该项,则返回 true。 如果未找到,则返回 false

示例 1

此示例检查子字符串 世界的字符串 hello world

contains('hello world', 'world')

并返回结果 true

示例 2

此示例检查子字符串 宇宙的字符串 hello world

contains('hello world', 'universe')

并返回结果 false

计数

返回集合中的项数。

count('<collection>')
count([<collection>])
参数 必填 类型 描述
< 集合> 是的 字符串或数组 包含要计数的项的集合
返回值 类型 描述
< 长度或计数> 整数 集合中的项数

示例

这些示例计算这些集合中的项数:

count('abcd')
count(createArray(0, 1, 2, 3))

两者都返回结果 4

countWord

返回字符串中的单词数

countWord('<text>')
参数 必填 类型 描述
< 文本> 是的 字符串 要计数的字符串
返回值 类型 描述
< 计数> 整数 字符串中的单词数

示例

本示例计算字符串中单词数,hello world

countWord("hello word")

它返回结果 2

convertFromUTC

将采用可选区域设置格式的时间戳从世界时协调(UTC)转换为目标时区。

convertFromUTC('<timestamp>', '<destinationTimeZone>', '<format>'?, '<locale>'?)
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串
< destinationTimeZone> 是的 字符串 目标时区的名称。 支持 Windows 和 IANA 时区。
< 格式> 字符串 自定义格式模式。 时间戳的默认格式为 “o”格式,,yyyy-MM-ddTHH:mm:ss.fffffffK,符合 ISO 8601
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
< 已转换时间戳> 字符串 转换为目标时区的时间戳

示例

以下示例从 UTC 转换为太平洋标准时间:

convertFromUTC('2018-02-02T02:00:00.000Z', 'Pacific Standard Time', 'MM-DD-YY')
convertFromUTC('2018-02-02T02:00:00.000Z', 'Pacific Standard Time')

并分别返回以下结果:

  • 02-01-18
  • 2018-01-01T18:00:00.0000000

示例 2

此示例将 en-US 区域设置中的时间戳从 UTC 转换为太平洋标准时间:

convertFromUTC('2018-01-02T02:00:00.000Z', 'Pacific Standard Time', 'D', 'en-US')

并返回结果 ,2018 年 1 月 1 日星期一

convertToUTC

将采用可选区域设置格式的时间戳从源时区转换为世界时协调(UTC)。

convertToUTC('<timestamp>', '<sourceTimeZone>', '<format>'?, '<locale>'?)
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串
< sourceTimeZone> 是的 字符串 目标时区的名称。 支持 Windows 和 IANA 时区。
< 格式> 字符串 自定义格式模式。 时间戳的默认格式为 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
< 已转换时间戳> 字符串 转换为目标时区的时间戳

示例

此示例将时间戳从太平洋标准时间转换为 UTC

convertToUTC('01/01/2018 00:00:00', 'Pacific Standard Time')

并返回结果 2018-01-01T08:00:00.000Z

示例 2

此示例将 de-DE 区域设置中的时间戳从太平洋标准时间转换为 UTC:

convertToUTC('01/01/2018 00:00:00', 'Pacific Standard Time', '', 'de-DE')

并返回结果 01.01.18 08:00:00

createArray

从多个输入返回数组。

createArray('<object1>', '<object2>', ...)
参数 必填 类型 描述
< object1>,<object2>,... 是的 任何,但不混合 创建数组的至少两个项
返回值 类型 描述
[<object1>, <object2>, ...] 数组 从所有输入项创建的数组

示例

此示例基于以下输入创建数组:

createArray('h', 'e', 'l', 'l', 'o')

返回结果 [h,e, l, l, l, o]

dataUri

返回字符串的数据统一资源标识符(URI)。

dataUri('<value>')
参数 必填 类型 描述
< > 是的 字符串 要转换的字符串
返回值 类型 描述
[<date-uri>] 字符串 输入字符串的数据 URI

示例

dataUri('hello')

返回数据:text/plain; 结果;charset=utf-8;base64,aGVsbG8=

dataUriToBinary

返回数据统一资源标识符的二进制版本(URI)。

dataUriToBinary('<value>')
参数 必填 类型 描述
< > 是的 字符串 要转换的数据 URI
返回值 类型 描述
[<binary-for-data-uri>] 字节数组 数据 URI 的二进制版本

示例

此示例为以下数据 URI 创建二进制版本:

dataUriToBinary('aGVsbG8=')

返回结果 新的字节[] { 97, 71, 86, 115, 98, 71, 56, 61 }

dataUriToString

返回数据统一资源标识符(URI)的字符串版本。

dataUriToString('<value>')
参数 必填 类型 描述
< > 是的 字符串 要转换的数据 URI
返回值 类型 描述
[<string-for-data-uri>] 字符串 数据 URI 的字符串版本

示例

此示例基于以下数据 URI 创建字符串:

dataUriToString('data:text/plain;charset=utf-8;base64,aGVsbG8=')

并返回 hello 的结果

日期

m/dd/yy 格式返回指定时间戳的日期。

date('<timestramp>')
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串
返回值 类型 描述
< 日期> 字符串 指定时间戳的日期
date('2018-03-15T13:00:00.000Z')

返回结果 3-15-2018

dateReadBack

使用日期时间库提供日期读回。

dateReadBack('<currentDate>', '<targetDate>')
参数 必填 类型 描述
< currentDate> 是的 字符串 包含当前日期的字符串
< targetDate> 是的 字符串 包含目标日期的字符串
返回值 类型 描述
< 日期读回> 字符串 当前日期与目标日期之间的读回

示例 1

dateReadBack('2018-03-15T13:00:00.000Z', '2018-03-16T13:00:00.000Z')

返回明天 的结果。

dateTimeDiff

返回两个时间戳之间的刻度差异。

dateTimeDiff('<timestamp1>', '<timestamp2>')
参数 必填 类型 描述
< timestamp1> 是的 字符串 要比较的第一个时间戳字符串
< timestamp2> 是的 字符串 要比较的第二个时间戳字符串
返回值 类型 描述
< 刻度> 两个时间戳之间的刻度差异

示例 1

此示例返回两个时间戳之间的刻度差异:

dateTimeDiff('2019-01-01T08:00:00.000Z','2018-01-01T08:00:00.000Z')

并返回数字 315360000000000

示例 2

此示例返回两个时间戳之间的刻度差异:

dateTimeDiff('2018-01-01T08:00:00.000Z', '2019-01-01T08:00:00.000Z')

返回结果 -3153600000000000。 值为负数。

dayOfMonth

返回时间戳中的月份日期。

dayOfMonth('<timestamp>')
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串
返回值 类型 描述
每月 <> 整数 指定时间戳中的月份日期

示例

此示例返回以下时间戳中月份日期的数字:

dayOfMonth('2018-03-15T13:27:36Z')

并返回结果 15

dayOfWeek

从时间戳返回一周中的一天。

dayOfWeek('<timestamp>')
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串
返回值 类型 描述
每周 <> 整数 指定时间戳中的星期几。 星期日为 0,星期一为 1,依此类推。

示例

此示例返回以下时间戳中星期几的数字:

dayOfWeek('2018-03-15T13:27:36Z')

并返回结果 3

dayOfYear

从时间戳返回一年中的一天。

dayOfYear('<timestamp>')
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串
返回值 类型 描述
< > 整数 指定时间戳中的年份日期

示例

本示例从以下时间戳返回一年中的一天数:

dayOfYear('2018-03-15T13:27:36Z')

并返回结果 74

div

返回除以两个数字的整数结果。 若要返回余数,请参阅 mod()

div(<dividend>, <divisor>)
参数 必填 类型 描述
< 股息> 是的 要除以 除数 的数字
< 除数> 是的 股息除以的数字。 不能为 0。
返回值 类型 描述
< 商结果> 将第一个数字除以第二个数字的结果

示例

这两个示例将第一个数字除以第二个数字:

div(10, 5)
div(11, 5)

并返回结果 2

Javascript 和 .NET SDK 之间存在一些差距。 例如,以下表达式将在 Javascript 和 .NET SDK 中返回不同的结果:

如果其中一个参数是 float,则结果也将是带有 .NET SDK 的 FLOAT。

示例

div(11.2, 2)

返回结果 5.6

如果其中一个参数是浮点数,则结果将是具有 Javascript SDK 的 INT。

示例

div(11.2, 2)

返回结果 5

Javascript 在结果中保留一定数量的小数位数的解决方法是使用此类表达式。 例如,若要保留 3 个小数位数:

float(concat(string(div(a, b)),'.',string(mod(div(a*1000, b), 1000))))

检查实例是否为空。 如果输入为空,则返回 true。 空表示:

  • 输入为 null 或未定义
  • 输入为 null 或空字符串
  • 输入为零大小集合
  • input 是一个没有属性的对象。
empty('<instance>')
empty([<instance>])
参数 必填 类型 描述
< 实例> 是的 任何 要检查的实例
返回值 类型 描述
true 或 false 布尔 当实例为空时返回 true

示例

这些示例检查指定的实例是否为空:

empty('')
empty('abc')
empty([1])
empty(null)

并分别返回以下结果:

  • 传递空字符串,因此函数返回 true
  • abc传递字符串,因此函数返回 false
  • 传递包含一项的集合,因此函数返回 false
  • 传递 null 对象,因此函数返回 true

endsWith

检查字符串是否以特定的子字符串结尾。 如果找到子字符串,则返回 true;如果未找到,则返回 false。 此函数不区分大小写。

endsWith('<text>', '<searchText>')
参数 必填 类型 描述
< 文本> 是的 字符串 要检查的字符串
< searchText> 是的 字符串 要查找的结束子字符串
返回值 类型 描述
true 或 false 布尔 找到结束子字符串时返回 true。 如果未找到,则返回 false

示例 1

此示例检查 hello world 字符串是否以字符串结尾,world

endsWith('hello world', 'world')

它返回结果 true

示例 2

此示例检查 hello world 字符串是否以字符串结尾,universe

endsWith('hello world', 'universe')

它返回结果 false

EOL

返回行(EOL)序列文本的末尾。

EOL()
返回值 类型 描述
< IsOSPlatform> 字符串 在 Windows 中返回 \r\n,在 Mac 和 Linux 中返回 \n

示例

此示例检查行序列文本的末尾:

EOL()

并返回以下字符串:

  • Windows:\r\n
  • Mac 或 Linux:\n

等于

检查两个值、表达式还是对象是否等效。 如果两者都等效,则返回 true;如果两者都不等效,则返回 false

equals('<object1>', '<object2>')
参数 必填 类型 描述
< object1>,<object2> 是的 任何 要比较的值、表达式或对象
返回值 类型 描述
true 或 false 布尔 当两者都等效时返回 true。 返回 false(如果不是等效项)。

示例

这些示例检查指定的输入是否等效:

equals(true, 1)
equals('abc', 'abcd')

并分别返回以下结果:

  • 这两个值都是等效的,因此函数返回 true
  • 这两个值都不相等,因此函数返回 false

存在

计算真实情况的表达式。

exists(expression)
参数 必填 类型 描述
表达 是的 表达 要计算真实性的表达式
返回值 类型 描述
< true 或 false> 布尔 计算表达式的结果

示例

以下示例评估 foo = {"bar":"value"}的真实性:

exists(foo.bar)
exists(foo.bar2)

并分别返回以下结果:

  • true
  • false

exp

将一个数字的指数返回到另一个数字。

exp(realNumber, exponentNumber)
参数 必填 类型 描述
realNumber 是的 计算指数的实数
exponentNumber 是的 指数数
返回值 类型 描述
< 结果 exp> 计算 realNumber 指数的结果

示例

此示例计算指数:

exp(2, 2)

并返回结果 4

第一

从字符串或数组返回第一项。

first('<collection>')
first([<collection>])
参数 必填 类型 描述
< 集合> 是的 字符串或数组 要在其中查找第一项的集合
返回值 类型 描述
< 第一个集合项> 任何 集合中的第一项

示例

这些示例查找以下集合中的第一项:

first('hello')
first(createArray(0, 1, 2))

并分别返回以下结果:

  • h
  • 0

扁平 化

将数组平展为非数组值。 可以选择将最大深度设置为平展到。

flatten([<collection>], '<depth>')
参数 必填 类型 描述
< 集合> 是的 数组 要平展的集合
< 深度> 要平展的最大深度。 默认值为无穷大。
返回值 类型 描述
< 新集合> 数组 新集合,其元素已平展到非数组到指定的深度

示例 1

THis 示例平展以下数组:

flatten(createArray(1, createArray(2), createArray(createArray(3, 4), createArray(5, 6)))

返回结果 [1, 2, 3, 4, 5, 6]

示例 2

此示例将数组平展为 1的深度:

flatten(createArray(1, createArray(2), createArray(createArray(3, 4), createArray(5, 6)), 1)

返回结果 [1, 2, [3, 4], [5, 6]]

将浮点数的字符串版本转换为浮点数。 仅当将自定义参数传递给应用(例如逻辑应用)时,才能使用此函数。 如果字符串无法转换为 float,将引发异常。

float('<value>')
参数 必填 类型 描述
< > 是的 字符串 具有要转换为的有效浮点数的字符串
返回值 类型 描述
< 浮点值> 指定字符串的浮点数

示例

此示例转换字符串的浮点版本:

float('10.333')

并返回 float 10.333

地板

返回小于或等于指定数字的最大整型值。

floor('<number>')
参数 必填 类型 描述
< 数字> 是的 输入编号
返回值 类型 描述
< 整数值> 整数 小于或等于输入数字的最大整型值

示例

此示例计算数字 10.333的下限值:

floor(10.333)

并返回整数 10

foreach

对每个元素进行作并返回新集合。

foreach([<collection/instance>], <iteratorName>, <function>)
参数 必填 类型 描述
< 集合/实例> 是的 数组或对象 包含项的集合
< iteratorName> 是的 迭代器名称 箭头函数的键项
< 函数> 是的 表达 包含 iteratorName 的函数
返回值 类型 描述
< 新集合> 数组 函数计算每个元素的新集合

示例 1

此示例生成一个新集合:

foreach(createArray(0, 1, 2, 3), x, x + 1)

返回结果 [1, 2, 3, 4]

示例 2

这些示例生成一个新集合:

foreach(json("{'name': 'jack', 'age': '15'}"), x, concat(x.key, ':', x.value))
foreach(json("{'name': 'jack', 'age': '15'}"), x=> concat(x.key, ':', x.value))

返回结果 ['name:jack', 'age:15']。 请注意,第二个表达式是 lambda 表达式,有些表达式会发现更具可读性。

formatDateTime

以可选区域设置格式返回时间戳。

formatDateTime('<timestamp>', '<format>'?, '<locale>'?)
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串
< 格式> 字符串 自定义格式模式。 时间戳的默认格式为 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
< 重新格式化时间戳> 字符串 指定格式的更新时间戳

示例 1

此示例将时间戳转换为指定的格式:

formatDateTime('03/15/2018 12:00:00', 'yyyy-MM-ddTHH:mm:ss')

并返回结果 2018-03-15T12:00:00

示例 2

此示例转换 de-DE 区域设置中的时间戳:

formatDateTime('2018-03-15', '', 'de-DE')

并返回结果 15.03.18 00:00:00

formatEpoch

从 UNIX 时间(也称为纪元时间、POSIX 时间、UNIX Epoch 时间)返回采用指定格式的可选区域设置格式的时间戳。

formatEpoch('<epoch>', '<format>'?, '<locale>'?)
参数 必填 类型 描述
< 时期> 是的 纪元数
< 格式> 字符串 自定义格式模式。 时间戳的默认格式为 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
< 重新格式化时间戳> 字符串 指定格式的更新时间戳

示例

此示例将 Unix 时间戳转换为指定格式:

formatEpoch(1521118800, 'yyyy-MM-ddTHH:mm:ss.fffZ)'

并返回结果 2018-03-15T12:00:00.000Z

示例

此示例在 de-DE 区域设置中转换 Unix 时间戳:

formatEpoch(1521118800, '', 'de-DE')

并返回结果 15.03.18 13:00:00

formatNumber

将值格式化为指定的小数位数和可选的指定区域设置。

formatNumber('<number>', '<precision-digits>', '<locale>'?)
参数 必填 类型 描述
< 数字> 是的 输入编号
< 精度位数> 是的 整数 指定的小数位数
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
< 返回值> 以指定数量的小数位数和指定的区域设置设置设置格式化的输入的返回值

示例 1

此示例将数字 10.333 设置为 2 小数位数

formatNumber(10.333, 2)

并返回字符串 10.33

示例 2

这些示例将数字的格式设置为 en-US 区域设置中的指定数字数:

formatNumber(12.123, 2, 'en-US')
formatNumber(1.551, 2, 'en-US')
formatNumber(12.123, 4, 'en-US')

并分别返回以下结果:

  • 12.12
  • 1.55
  • 12.1230

formatTicks

从刻度返回采用指定格式的可选区域设置格式的时间戳。

formatTicks('<ticks>', '<format>'?, '<locale>'?)
参数 必填 类型 描述
< 时期> 是的 number (或 JavaScript 中的 bigint) 刻度号
< 格式> 字符串 自定义格式模式。 时间戳的默认格式为 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
< 重新格式化时间戳> 字符串 指定格式的更新时间戳

示例 1

此示例将刻度转换为指定格式:

formatTicks(637243624200000000, 'yyyy-MM-ddTHH:mm:ss.fffZ')

并返回结果 2020-05-06T11:47:00.000Z

示例 2

此示例将刻度转换为 de-DE 区域设置中的指定格式:

formatTicks(637243624200000000, '', 'de-DE')

并返回结果 06.05.20 11:47:00

getFutureTime

以可选区域设置格式和指定的时间单位返回当前时间戳。

getFutureTime(<interval>, <timeUnit>, '<format>'?, '<locale>'?)
参数 必填 类型 描述
< 间隔> 是的 整数 要添加的特定时间单位数
< timeUnit> 是的 字符串 间隔一起使用的时间单位。 可能的单位为“Second”、“Minute”、“Hour”、“Day”、“Week”、“Month”和“Year”。
< 格式> 字符串 自定义格式模式。 时间戳的默认格式为 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
< 更新时间戳> 字符串 当前时间戳加上指定的时间单位数

示例 1

假设当前时间戳 2019-03-01T00:00:00.000Z。 以下示例向该时间戳添加五天:

getFutureTime(2, 'Week')

并返回结果 2019-03-15T00:00:00.000Z

示例 2

假设当前时间戳 2018-03-01T00:00:00.000Z。 以下示例在时间戳中添加 5 天,并将结果转换为 MM-DD-YY 格式:

getFutureTime(5, 'Day', 'MM-DD-YY')

并返回结果 03-06-18

示例 3

假设当前时间戳 2020-05-01T00:00:00.00.000Z,区域设置 de-DE。 以下示例将 1 天添加到时间戳:

getFutureTime(1,'Day', '', 'de-DE')

并返回结果 02.05.20 00:00:00

getNextViableDate

根据当前日期和可选的指定时区返回 Timex 表达式的下一个可行日期。

getNextViableDate(<timexString>, <timezone>?)
参数 必填 类型 描述
< timexString> 是的 字符串 要计算的日期的 Timex 字符串。
< 时区> 字符串 可选时区。
返回值 类型 描述
< nextViableTime> 字符串 下一个可行的日期。

示例

假设日期 2020-06-12,当前时间 15:42:21

这些示例基于上述日期和时间评估下一个可行日期的 Timex 字符串:

getPreviousViableDate("XXXX-12-20", "America/Los_Angeles")
getPreviousViableDate("XXXX-02-29")

并分别返回以下字符串:

  • 2020-12-20
  • 2024-02-29

getNextViableTime

根据当前时间和可选的指定时区返回 Timex 表达式的下一个可行时间。

getNextViableTime(<timexString>, <timezone>?)
参数 必填 类型 描述
< timexString> 是的 字符串 要计算的时间的 Timex 字符串。
< 时区> 字符串 可选时区。
返回值 类型 描述
< nextViableTime> 字符串 下一个可行的时间。

示例

假设日期 2020-06-12,当前时间 15:42:21

这些示例基于上述日期和时间评估 Timex 字符串的下一个可行时间:

getNextViableTime("TXX:12:14", "Asia/Tokyo")
getNextViableTime("TXX:52:14")

并分别返回以下字符串:

  • T16:12:14
  • T15:52:14

getPastTime

返回当前时间戳减去指定的时间单位。

getPastTime(<interval>, <timeUnit>, '<format>'?)
参数 必填 类型 描述
< 间隔> 是的 整数 要减去的特定时间单位数
< timeUnit> 是的 字符串 间隔一起使用的时间单位。 可能的单位为“Second”、“Minute”、“Hour”、“Day”、“Week”、“Month”和“Year”。
< 格式> 字符串 自定义格式模式。 时间戳的默认格式为 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
返回值 类型 描述
< 更新时间戳> 字符串 当前时间戳减去指定的时间单位数

示例 1

假设当前时间戳 2018-02-01T00:00:00.000Z。 此示例从该时间戳中减去五天:

getPastTime(5, 'Day')

并返回结果 2019-01-27T00:00:00.000Z

示例 2

假设当前时间戳 2018-03-01T00:00:00.000Z。 此示例将 5 天减去 MM-DD-YY 格式的时间戳:

getPastTime(5, 'Day', 'MM-DD-YY')

并返回结果 02-26-18

示例 3

假设当前时间戳 2020-05-01T00:00:00.00.000Z,区域设置 de-DE。 以下示例从时间戳中减去 1 1 天:

getPastTime(1,'Day', '', 'de-DE')

并返回结果 31.04.20 00:00:00

getPreviousViableDate

根据当前日期和可选的指定时区返回 Timex 表达式的上一个可行日期。

getPreviousViableDate(<timexString>, <timezone>?)
参数 必填 类型 描述
< timexString> 是的 字符串 要计算的日期的 Timex 字符串。
< 时区> 字符串 可选时区。
返回值 类型 描述
< previousViableDate> 字符串 以前的可行日期。

示例

假设日期 2020-06-12,当前时间 15:42:21

这些示例基于上述日期和时间评估上一个可行日期的 Timex 字符串:

getPreviousViableDate("XXXX-12-20", "Eastern Standard Time")
getPreviousViableDate("XXXX-02-29")

并分别返回以下字符串:

  • 2019-12-20
  • 2020-02-29

getPreviousViableTime

根据当前日期和可选的指定时区返回 Timex 表达式的上一个可行时间。

getPreviousViableTime(<timexString>, <timezone>?)
参数 必填 类型 描述
< timexString> 是的 字符串 要计算的时间的 Timex 字符串。
< 时区> 字符串 可选时区。
返回值 类型 描述
< previousViableTime> 字符串 以前的可行时间。

示例

假设日期 2020-06-12,当前时间 15:42:21

这些示例基于上述日期和时间评估以前的可行时间的 Timex 字符串:

getPreviousViableTime("TXX:52:14")
getPreviousViableTime("TXX:12:14", 'Europe/London')

并分别返回以下字符串:

  • T14:52:14
  • T15:12:14

getProperty

从 JSON 对象返回指定属性或根属性的值。

返回指定属性的值

getProperty(<JSONObject>, '<propertyName>')
参数 必填 类型 描述
< JSONObject> 是的 对象 包含属性值的 JSON 对象。
< propertyName> 字符串 要从中访问值的可选属性的名称。
返回值 类型 描述
价值 字符串 JSON 对象中指定属性的值。

示例

假设具有以下 JSON 对象:

{
   "a:b" : "a:b value",
   "c":
   {
        "d": "d key"
    }
}

以下示例从上述 JSON 对象检索指定的属性:

getProperty({"a:b": "value"}, 'a:b')
getProperty(c, 'd')

并分别返回以下字符串:

  • a:b 值
  • d 键

返回根属性

getProperty('<propertyName>')
参数 必填 类型 描述
< propertyName> 是的 字符串 从根内存范围访问值的可选属性的名称。
返回值 类型 描述
价值 字符串 JSON 对象中根属性的值。

示例

假设具有以下 JSON 对象:

{
   "a:b" : "a:b value",
   "c":
   {
        "d": "d key"
    }
}

此示例从上述 JSON 对象检索根属性:

getProperty("a:b")

并返回 a:b 值 字符串。

getTimeOfDay

返回给定时间戳的一天时间。

getTimeOfDay('<timestamp>')

返回的时间是以下字符串之一:

参数 必填 类型 描述
< 时间戳> 是的 字符串 包含指定时间戳的字符串
返回值 类型 描述
< > 字符串 指定时间戳的一天时间

下面列出了与一天中的时间关联的字符串:

一天中的时间 时间戳
午夜 12AM
上午 上午 12:01 – 下午 11:59
下午 下午 12 点
傍晚 下午 06:00 – 下午 10:00
晚上 下午 10:01 – 11:59

示例

getTimeOfDay('2018-03-15T08:00:00.000Z')

返回 的结果。

检查第一个值是否大于第二个值。 如果第一个值更多,则返回 true;如果小于,则返回 false

greater(<value>, <compareTo>)
greater('<value>', '<compareTo>')
参数 必填 类型 描述
< > 是的 整数、浮点数或字符串 检查是否大于第二个值的第一个值
< compareTo> 是的 整数、浮点数或字符串分别 比较值
返回值 类型 描述
true 或 false 布尔 如果第一个值大于第二个值,则返回 true。 如果第一个值等于或小于第二个值,则返回 false

示例

这些示例检查第一个值是否大于第二个值:

greater(10, 5)
greater('apple', 'banana')

并分别返回以下结果:

  • true
  • false

greaterOrEquals

检查第一个值是否大于或等于第二个值。 当第一个值大于或等于时返回 true;如果第一个值小于,则返回 false

greaterOrEquals(<value>, <compareTo>)
greaterOrEquals('<value>', '<compareTo>')
参数 必填 类型 描述
< > 是的 整数、浮点数或字符串 检查是否大于或等于第二个值的第一个值
< compareTo> 是的 整数、浮点数或字符串分别 比较值
返回值 类型 描述
true 或 false 布尔 如果第一个值大于或等于第二个值,则返回 true。 如果第一个值小于第二个值,则返回 false

示例

这些示例检查第一个值是大于还是等于第二个值:

greaterOrEquals(5, 5)
greaterOrEquals('apple', 'banana')

并分别返回以下结果:

  • true
  • false

如果

检查表达式是 true 还是 false。 根据结果返回指定的值。

if(<expression>, <valueIfTrue>, <valueIfFalse>)
参数 必填 类型 描述
< 表达式> 是的 布尔 要检查的表达式
< valueIfTrue> 是的 任何 如果表达式为 true,则返回的值
< valueIfFalse> 是的 任何 如果表达式为 false,则返回的值
返回值 类型 描述
< 指定的返回值> 任何 根据表达式是 true 还是 false 返回的指定值

示例

此示例评估 equals(1,1) 是否为 true:

if(equals(1, 1), 'yes', 'no')

返回 ,因为指定的表达式返回 true。 否则,该示例返回

indexOf

返回子字符串的起始位置或索引值。 此函数不区分大小写,索引以数字 0 开头。

indexOf('<text>', '<searchText>')
参数 必填 类型 描述
< 文本> 是的 字符串或数组 包含要查找的子字符串的字符串
< searchText> 是的 字符串 要查找的子字符串
返回值 类型 描述
< 索引值> 整数 指定子字符串的起始位置或索引值。
如果未找到字符串,则返回数字 -1。

示例 1

本示例查找字符串 世界 字符串的起始索引值,hello world

indexOf('hello world', 'world')

并返回结果 6

示例 2

本示例在数组 ['abc', 'def', 'ghi']中查找子字符串 的起始索引值:

indexOf(createArray('abc', 'def', 'ghi'), 'def')

并返回结果 1

indicesAndValues

将数组或对象转换为具有索引(当前索引)和值属性的对象数组。 对于数组,索引是数组中的位置。 对于对象,它是值的键。

indicesAndValues('<collection or object>')
参数 必填 类型 描述
< 集合或对象> 是的 数组或对象 原始数组或对象
返回值 类型 描述
< 集合> 数组 新数组。 每个项都有两个属性:索引,其中包含数组中的位置或对象的键,以及相应的值。

示例 1

假设你有一个列表 { 项: [“zero”, “one”, “two”] }。 以下函数采用该列表:

indicesAndValues(items)

并返回一个新列表:

[
  {
    index: 0,
    value: 'zero'
  },
  {
    index: 1,
    value: 'one'
  },
  {
    index: 2,
    value: 'two'
  }
]

示例 2

假设你有一个列表 { 项: [“zero”, “one”, “two”] }。 以下函数采用该列表:

where(indicesAndValues(items), elt, elt.index >= 1)

并返回一个新列表:

[
  {
    index: 1,
    value: 'one'
  },
  {
    index: 2,
    value: 'two'
  }
]

示例 3

假设你有一个列表 { 项: [“zero”, “one”, “two”] }。 以下函数采用该列表:

join(foreach(indicesAndValues(items), item, item.value), ',')

并返回结果 零,一,两。 此表达式的效果与 join(items, ','')相同。

示例 4

假设你有一个对象 { user: {name: 'jack', age: 20} }。 以下函数采用该对象:

indicesAndValues(user)

并返回一个新对象:

[
  {
    index: 'name',
    value: 'jack'
  },
  {
    index: 'age',
    value: 20
  }
]

int

返回字符串的整数版本。 如果字符串无法转换为整数,将引发异常。

int('<value>')
参数 必填 类型 描述
< > 是的 字符串 要转换的字符串
返回值 类型 描述
< 整数结果> 整数 指定字符串的整数版本

示例

此示例为字符串创建一个整数版本,10

int('10')

并将结果作为整数 10返回。

路口

返回一个集合,该集合中只有指定集合中的常用项。 若要显示在结果中,必须将项显示在传递给此函数的所有集合中。 如果一个或多个项具有相同的名称,则结果中会显示具有该名称的最后一项。

intersection([<collection1>], [<collection2>], ...)
intersection('<collection1>', '<collection2>', ...)
参数 必填 类型 描述
< collection1>,<collection2> 是的 数组或对象,但不是两者 仅需要常用项的集合
返回值 类型 描述
< 常见项> 数组或对象,分别 一个集合,该集合中只有指定集合中的通用项

示例

此示例查找以下数组中的常见项:

intersection(createArray(1, 2, 3), createArray(101, 2, 1, 10), createArray(6, 8, 1, 2))

返回一个数组,其中仅 [1, 2]项。

isArray

如果给定输入是数组,则返回 true

isArray('<input>')
参数 必填 类型 描述
< 输入> 是的 任何 要测试的输入
返回值 类型 描述
< 布尔结果> 布尔 如果给定输入是数组,则返回 true;如果不是数组,则返回 false

示例

以下示例检查输入是否为数组:

isArray('hello')
isArray(createArray('hello', 'world'))

并分别返回以下结果:

  • 输入是一个字符串,因此函数返回 false
  • 输入是一个数组,因此函数返回 true

isBoolean

如果给定输入为布尔值,则返回 true

isBoolean('<input>')
参数 必填 类型 描述
< 输入> 是的 任何 要测试的输入
返回值 类型 描述
< 布尔结果> 布尔 如果给定输入为布尔值,则返回 true;如果给定输入不是布尔值,则返回 false

示例

以下示例检查输入是否为布尔值:

isBoolean('hello')
isBoolean(32 > 16)

并分别返回以下结果:

  • 输入是一个字符串,因此函数返回 false
  • 输入为布尔值,因此函数返回 true

isDate

如果给定的 TimexProperty 或 Timex 表达式引用有效日期,则返回 true。 有效日期包含月份和 dayOfMonth,或包含 dayOfWeek。

isDate('<input>')
参数 必填 类型 描述
< 输入> 是的 对象或字符串 输入 TimexProperty 对象或 Timex 表达式字符串。
返回值 类型 描述
< 布尔结果> 布尔 如果输入引用有效日期,则返回 true;如果日期无效,则返回 false

示例

这些示例检查以下输入是否为有效日期:

isDate('2020-12')
isDate('xxxx-12-21')

并返回以下结果:

  • false
  • true

isDateRange

如果给定的 TimexProperty 或 Timex 表达式引用有效的日期范围,则返回 true

isDateRange('<input>')
参数 必填 类型 描述
< 输入> 是的 对象或字符串 输入 TimexProperty 对象是 Timex 表达式字符串。
返回值 类型 描述
< 布尔结果> 布尔 如果给定输入引用有效日期范围,则返回 true;如果不是有效的日期范围,则返回 false

示例

这些示例检查以下输入是否为有效的日期范围:

isDateRange('PT30M')
isDateRange('2012-02')

并返回以下结果:

  • false
  • true

isDateTime

如果给定输入是 UTC ISO 格式(YYYY-MM-DDTHH:mm:ss.fffZ) 时间戳字符串,则返回 true

isDateTime('<input>')
参数 必填 类型 描述
< 输入> 是的 任何 要测试的输入
返回值 类型 描述
< 布尔结果> 布尔 如果给定输入为 UTC ISO 格式时间戳字符串,则返回 true;如果不是 UTC ISO 格式时间戳字符串,则返回 false

示例

以下示例检查输入是否为 UTC ISO 格式字符串:

isDateTime('hello world!')
isDateTime('2019-03-01T00:00:00.000Z')

并分别返回以下结果:

  • 输入是一个字符串,因此函数返回 false
  • 输入是 UTC ISO 格式字符串,因此函数返回 true

isDefinite

如果给定的 TimexProperty 或 Timex 表达式引用有效日期,则返回 true。 有效日期包含 year、month 和 dayOfMonth。

isDefinite('<input>')
参数 必填 类型 描述
< 输入> 是的 对象或字符串 输入 TimexProperty 对象是 Timex 表达式字符串。
返回值 类型 描述
< 布尔结果> 布尔 如果给定输入引用有效完整日期,则返回 true;如果未引用有效的完整日期,则返回 false

示例

假设有一个 TimexProperty 对象 validFullDate = new TimexProperty(“2020-02-20”)Now 属性设置为 true。 以下示例检查对象是否引用了有效的完整日期:

isDefinite('xxxx-12-21')
isDefinite(validFullDate)

并分别返回以下结果:

  • false
  • true

isDuration

如果给定的 TimexProperty 或 Timex 表达式引用有效持续时间,则返回 true

isDuration('<input>')
参数 必填 类型 描述
< 输入> 是的 对象或字符串 输入 TimexProperty 对象是 Timex 表达式字符串。
返回值 类型 描述
< 布尔结果> 布尔 如果输入引用有效持续时间,则返回 true;如果输入未引用有效持续时间,则返回 false

示例

以下示例检查以下输入是否引用有效持续时间:

isDuration('PT30M')
isDuration('2012-02')

并分别返回以下结果:

  • true
  • false

isFloat

如果给定输入是浮点数,则返回 true。 由于 C#和 JavaScript 之间的对齐方式,其模数 1 的非零残渣的数字将被视为浮点数。

isFloat('<input>')
参数 必填 类型 描述
< 输入> 是的 任何 要测试的输入
返回值 类型 描述
< 布尔结果> 布尔 如果给定输入是浮点数,则返回 true;如果输入不是浮点数,则返回 false

示例

以下示例检查输入是否为浮点数:

isFloat('hello world!')
isFloat(1.0)
isFloat(12.01)

并分别返回以下结果:

  • 输入是一个字符串,因此函数返回 false
  • 输入的模式等于 0,因此函数返回 false
  • 输入是浮点数,因此函数返回 true

isInteger

如果给定输入为整数,则返回 true。 由于 C# 和 JavaScript 之间的对齐方式,其模数 1 的零残渣的数字将被视为整数。

isInteger('<input>')
参数 必填 类型 描述
< 输入> 是的 任何 要测试的输入
返回值 类型 描述
< 布尔结果> 布尔 输入是否为整数

示例

以下示例检查输入是否为整数:

isInteger('hello world!')
isInteger(1.0)
isInteger(12)

并分别返回以下结果:

  • 输入是一个字符串,因此函数返回 false
  • 输入的模式等于 0,因此函数返回 true
  • 输入是一个整数,因此函数返回 true

isMatch

如果给定字符串与指定的正则表达式模式匹配,则返回 true

isMatch('<target**string>', '<pattern>')
参数 必填 类型 描述
< target**string> 是的 字符串 要匹配的字符串
< 模式> 是的 字符串 正则表达式模式
返回值 类型 描述
< 布尔结果> 布尔 如果给定字符串与通用正则表达式模式匹配,则返回 true;如果给定字符串与模式不匹配,则返回 false

示例

以下示例检查输入是否与指定的正则表达式模式匹配:

isMatch('ab', '^[a-z]{1,2}$')
isMatch('FUTURE', '(?i)fortune|future')
isMatch('12abc34', '([0-9]+)([a-z]+)([0-9]+)')
isMatch('abacaxc', 'ab.*?c')

并返回相同的结果 true

isObject

如果给定输入是复杂对象,则返回 true;如果给定输入是基元对象,则返回 false。 基元对象包括字符串、数字和布尔值;复杂类型(如类)包含属性。

isObject('<input>')
参数 必填 类型 描述
< 输入> 是的 任何 要测试的输入
返回值 类型 描述
< 布尔结果> 布尔 如果给定的输入是复杂对象,则返回 true;如果它是基元对象,则返回 false

示例

以下示例检查给定输入是否为对象:

isObject('hello world!')
isObject({userName: "Sam"})

并分别返回以下结果:

  • 输入是一个字符串,因此函数返回 false
  • 输入是一个对象,因此函数返回 true

isPresent

如果给定的 TimexProperty 或 Timex 表达式引用当前,则返回 true

isPresent('<input>')
参数 必填 类型 描述
< 输入> 是的 对象或字符串 输入 TimexProperty 对象 Timex 表达式字符串
返回值 类型 描述
< 布尔结果> 布尔 如果输入引用当前值,则返回 true;如果未引用当前值,则返回 false。

示例 假设我们有一个 TimexProperty 对象 validNow = new TimexProperty() { Now = true } 并将 Now 属性设置为 true。 以下示例检查以下输入是否引用了当前内容:

isPresent('PT30M')
isPresent(validNow)

并分别返回以下结果:

  • false
  • true

isString

如果给定输入为字符串,则返回 true

isString('<input>')
参数 必填 类型 描述
< 输入> 是的 任何 要测试的输入
返回值 类型 描述
< 布尔结果> 布尔 如果给定输入是字符串,则返回 true;如果不是字符串,则返回 false

示例

以下示例检查给定输入是否为字符串:

isString('hello world!')
isString(3.14)

并分别返回以下结果:

  • 输入是一个字符串,因此函数返回 true
  • 输入为浮点数,因此函数返回 false

isTime

如果给定的 TimexProperty 或 Timex 表达式引用有效时间,则返回 true。 有效时间包含小时、分钟和秒。

isTime('<input>')
参数 必填 类型 描述
< 输入> 是的 对象或字符串 输入 TimexProperty 对象 Timex 表达式字符串
返回值 类型 描述
< 布尔结果> 布尔 如果输入引用有效时间,则返回 true;如果未引用有效时间,则返回 false

示例

这些示例检查以下输入是否引用有效时间:

isTime('PT30M')
isTime('2012-02-21T12:30:45')

并分别返回以下结果:

  • false
  • true

isTimeRange

如果给定的 TimexProperty 或 Timex 表达式引用有效的时间范围有效时间范围包含 partOfDay,则返回 true

isTime('<input>')
参数 必填 类型 描述
< 输入> 是的 对象或字符串 输入 TimexProperty 对象是 Timex 表达式字符串。
返回值 类型 描述
< 布尔结果> 布尔 如果输入引用有效的时间范围,则返回 true;如果未引用有效的时间范围,则返回 false

示例

假设我们有一个 TimexProperty 对象 validTimeRange = new TimexProperty() { PartOfDay = “morning” } 并将 Now 属性设置为 true。 这些示例检查以下输入是否为有效的时间范围:

isTimeRange('PT30M')
isTimeRange(validTimeRange)

并分别返回以下结果:

  • false
  • true

加入

返回一个字符串,其中包含数组中的所有项,每个字符用 分隔符分隔

join([<collection>], '<delimiter>')
参数 必填 类型 描述
< 集合> 是的 数组 具有要联接的项的数组
< 分隔符> 是的 字符串 在生成的字符串中的每个字符之间显示的分隔符
返回值 类型 描述
< char1><分隔符><char2><分隔符>... 字符串 从指定数组中的所有项创建的生成的字符串

示例

此示例使用指定字符 从此数组中的所有项创建字符串。作为分隔符

join(createArray('a', 'b', 'c'), '.')

并返回 a.b.c 结果。

jPath

检查 JSON 或 JSON 字符串中是否存在与路径表达式匹配的节点或值,并返回匹配的节点。

jPath(<json>, '<path>')
参数 必填 类型 描述
< json> 是的 任何 要搜索与路径表达式值匹配的节点或值的 JSON 对象或字符串
< 路径> 是的 任何 用于查找匹配的 JSON 节点或值的路径表达式
返回值 类型 描述
[ <json 节点>] 数组 与指定路径表达式匹配的 JSON 节点或值的列表

C# 示例

假设具有以下 JSON:

{
    "Stores": [
        "Lambton Quay",
        "Willis Street"
    ],
    "Manufacturers": [
        {
            "Name": "Acme Co",
            "Products": [
                {
                    "Name": "Anvil",
                    "Price": 50
                }
            ]
        },
        {
            "Name": "Contoso",
            "Products": [
                {
                    "Name": "Elbow Grease",
                    "Price": 99.95
                },
                {
                    "Name": "Headlight Fluid",
                    "Price": 4
                }
            ]
        }
    ]
}

路径表达式 $.。产品[?(@.价格 >= 50]。名称

jPath(jsonStr, path)

它返回结果 [“Anvil”, “肘部脂”]

JavaScript 示例

假设具有以下 JSON:

{
    "automobiles": [
        {
            "maker": "Nissan",
            "model": "Teana",
            "year": 2011
        },
        {
            "maker": "Honda",
            "model": "Jazz",
            "year": 2010
        },
        {
            "maker": "Honda",
            "model": "Civic",
            "year": 2007
        },
        {
            "maker": "Toyota",
            "model": "Yaris",
            "year": 2008
        },
        {
            "maker": "Honda",
            "model": "Accord",
            "year": 2011
        }
    ],
    "motorcycles": [
        {
            "maker": "Honda",
            "model": "ST1300",
            "year": 2012
        }
    ]
}

路径表达式是 .automobiles{.maker \ “本田”&& .year > 2009}.model

jPath(jsonStr, path)

它返回结果 ['Jazz', 'Accord']

json

返回字符串或 XML 的 JavaScript 对象表示法(JSON)类型值或对象。

json('<value>')
参数 必填 类型 描述
< > 是的 字符串或 XML 要转换的字符串或 XML
返回值 类型 描述
< JSON 结果> 字符串 从指定的字符串或 XML 创建的生成的 JSON 对象。

示例 1

此示例将字符串转换为 JSON:

json('{"fullName": "Sophia Owen"}')

并返回结果:

{
  "fullName": "Sophia Owen"
}

示例 2

此示例将 XML 转换为 JSON:

json(xml('<?xml version="1.0"?> <root> <person id='1'> <name>Sophia Owen</name> <occupation>Engineer</occupation> </person> </root>'))

并返回结果:

{
   "?xml": { "@version": "1.0" },
   "root": {
      "person": [ {
         "@id": "1",
         "name": "Sophia Owen",
         "occupation": "Engineer"
      } ]
   }
}

jsonStringify

返回值的 JSON 字符串。

参数 必填 类型 描述
< > 是的 对象 要转换为 JSON 字符串的对象
返回值 类型 描述
< JSON 结果> 字符串 生成的 JSON 字符串。

示例

这些示例显示转换为 JSON 字符串的对象:

jsonStringify(null)
jsonStringify({a:'b'})

并分别返回以下字符串结果:

  • null
  • {“a”:“b”}

最后

从集合中返回最后一项。

last('<collection>')
last([<collection>])
参数 必填 类型 描述
< 集合> 是的 字符串或数组 要在其中查找最后一项的集合
返回值 类型 描述
< last-collection-item> 字符串或数组,分别 集合中的最后一项

示例

这些示例查找这些集合中的最后一项:

last('abcd')
last(createArray(0, 1, 2, 3))

并分别返回以下结果:

  • d
  • 3

lastIndexOf

返回子字符串最后一个匹配项的起始位置或索引值。 此函数不区分大小写,索引以数字 0 开头。

lastIndexOf('<text>', '<searchText>')
参数 必填 类型 描述
< 文本> 是的 字符串或数组 包含要查找的子字符串的字符串
< searchText> 是的 字符串 要查找的子字符串
返回值 类型 描述
< 结束索引值> 整数 指定子字符串最后一个匹配项的起始位置或索引值。 如果未找到字符串,则返回数字 -1

示例 1

本示例查找 hello world 字符串中子字符串 world 的最后一个匹配项的起始索引值:

lastIndexOf('hello world', 'world')

并返回结果 6

示例 2

本示例查找数组中最后出现的子字符串 def 的起始索引值,['abc', 'def', 'ghi', 'def']

lastIndexOf(createArray('abc', 'def', 'ghi', 'def'), 'def')

并返回结果 3

长度

返回字符串的长度。

length('<str>')
参数 必填 类型 描述
< str> 是的 字符串 要计算长度的字符串
返回值 类型 描述
< 长度> 整数 此字符串的长度

示例

这些示例获取字符串的长度:

length('hello')
length('hello world')

并分别返回以下结果:

  • 5
  • 11

检查第一个值是否小于第二个值。 如果第一个值更少,则返回 true;如果第一个值更多,则返回 false

less(<value>, <compareTo>)
less('<value>', '<compareTo>')
参数 必填 类型 描述
< > 是的 整数、浮点数或字符串 检查是否小于第二个值的第一个值
< compareTo> 是的 整数、浮点数或字符串分别 比较项
返回值 类型 描述
true 或 false 布尔 如果第一个值小于第二个值,则返回 true。 如果第一个值等于或大于第二个值,则返回 false

示例

这些示例检查第一个值是否小于第二个值。

less(5, 10)
less('banana', 'apple')

并分别返回以下结果:

  • true
  • false

lessOrEquals

检查第一个值是否小于或等于第二个值。 如果第一个值小于或等于,则返回 true;如果第一个值更多,则返回 false

lessOrEquals(<value>, <compareTo>)
lessOrEquals('<value>', '<compareTo>')
参数 必填 类型 描述
< > 是的 整数、浮点数或字符串 检查第一个值是否小于或等于第二个值
< compareTo> 是的 整数、浮点数或字符串分别 比较项
返回值 类型 描述
true 或 false 布尔 如果第一个值小于或等于第二个值,则返回 true。 如果第一个值大于第二个值,则返回 false

示例

这些示例检查第一个值是否小于或等于第二个值。

lessOrEquals(10, 10)
lessOrEquals('apply', 'apple')

并分别返回以下结果:

  • true
  • false

麦克斯

返回列表或数组中的最大值。 列表或数组在两端都是非独占的。

max(<number1>, <number2>, ...)
max([<number1>, <number2>, ...])
参数 必填 类型 描述
< number1>,<number2>,... 是的 要从中获取最大值的数字集
[<number1>, <number2>, ...] 是的 数字数组 要从中获取最大值的数字数组
返回值 类型 描述
< 最大值> 指定数组或数字集中的最高值

示例

这些示例从数字集和数组中获取最高值:

max(1, 2, 3)
max(createArray(1, 2, 3))

并返回结果 3

合并

将多个 JSON 对象或对象数组合并在一起。

merge(<json1>, <json2>, ...)
参数 必填 类型 描述
< json1>,<json2>,... 是的 对象或数组 要合并的 JSON 对象或数组集。
返回值 类型 描述
< 结果> 对象 合并的 JSON 对象或组合的数组对象。

示例

假设具有以下 JSON 对象:

json1 = @"{
            'FirstName': 'John',
            'LastName': 'Smith',
            'Enabled': false,
            'Roles': [ 'User' ]
          }"
json2 =@"{
            'Enabled': true,
            'Roles': [ 'User', 'Admin' ]
          }"

此示例合并 JSON 对象:

string(merge(json(json1), json(json2)))

返回结果对象 {“FirstName”:“John”,“LastName”:“Smith”,“Enabled”:true,“Roles”:[“User”,“Admin”]}

假设你想要将对象和对象列表组合在一起。 以下示例合并了 JSON 对象和对象数组:

merge({k1:'v1'}, [{k2:'v2'}, {k3: 'v3'}], {k4:'v4'})

并返回对象 { “k1”: “v1”, “k2”: “v2”, “k3”: “v3”, “k4”: “v4” }

min

从一组数字或数组中返回最小值。

min(<number1>, <number2>, ...)
min([<number1>, <number2>, ...])
参数 必填 类型 描述
< number1>,<number2>,... 是的 要从中获取最小值的数字集
[<number1>, <number2>, ...] 是的 数字数组 要从中获取最小值的数字数组
返回值 类型 描述
< 最小值> 指定数组或一组数字中的最小值

示例

这些示例获取数字集和数组中的最小值:

min(1, 2, 3)
min(createArray(1, 2, 3))

并返回结果 1

国防部

返回除以两个数字的余数。 若要获取整数结果,请参阅 div()

mod(<dividend>, <divisor>)
参数 必填 类型 描述
< 股息> 是的 要除以 除数 的数字
< 除数> 是的 股息除以的数字。 不能为 0。
返回值 类型 描述
< 模数结果> 将第一个数字除以第二个数字的余数

示例

此示例将第一个数字除以第二个数字:

mod(3, 2)

并返回结果 1

返回指定时间戳的月份。

month('<timestamp>')
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串
返回值 类型 描述
< 月数> 整数 指定时间戳中的月份数

示例

month('2018-03-15T13:01:00.000Z')

它返回结果 3

mul

返回乘以两个数字的产品。

mul(<multiplicand1>, <multiplicand2>)
参数 必填 类型 描述
< multiplicand1> 是的 整数或浮点数 要乘以 multiplicand2 的数字
< multiplicand2> 是的 整数或浮点数 倍数 乘数 1
返回值 类型 描述
< 产品结果> 整数或浮点数 将第一个数字乘以第二个数字的产品

示例

这些示例将第一个数字乘以第二个数字:

mul(1, 2)
mul(1.5, 2)

并分别返回以下结果:

  • 2
  • 3

newGuid

返回新的 Guid 字符串。

newGuid()
返回值 类型 描述
< Guid-string> 字符串 新的 Guid 字符串,长度为 36,类似于 xxxxxxxx-xxxx-4xxx-yxxx-xxxxxx

示例

newGuid()

它返回一个结果,它遵循格式 xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxx

检查表达式是否为 false。 如果表达式为 false,则返回 true;如果为 true,则返回 false

not(<expression>)
参数 必填 类型 描述
< 表达式> 是的 布尔 要检查的表达式
返回值 类型 描述
true 或 false 布尔 如果表达式为 false,则返回 true。 如果表达式为 true,则返回 false

示例 1

这些示例检查指定的表达式是否为 false:

not(false)
not(true)

并分别返回以下结果:

  • 表达式为 false,因此函数返回 true
  • 表达式为 true,因此函数返回 false

示例 2

这些示例检查指定的表达式是否为 false:

not(equals(1, 2))
not(equals(1, 1))

并分别返回以下结果:

  • 表达式为 false,因此函数返回 true
  • 表达式为 true,因此函数返回 false

检查至少一个表达式是否为 true。 如果至少有一个表达式为 true,则返回 true;如果所有表达式均为 false,则返回 false

or(<expression1>, <expression2>, ...)
参数 必填 类型 描述
< expression1>, <expression2>, ... 是的 布尔 要检查的表达式
返回值 类型 描述
true 或 false 布尔 如果至少有一个表达式为 true,则返回 true。 如果所有表达式均为 false,则返回 false

示例 1

这些示例检查至少一个表达式是否为 true:

or(true, false)
or(false, false)

并分别返回以下结果:

  • 至少有一个表达式为 true,因此函数返回 true
  • 这两个表达式均为 false,因此函数返回 false

示例 2

这些示例检查至少一个表达式是否为 true:

or(equals(1, 1), equals(1, 2))
or(equals(1, 2), equals(1, 3))

并分别返回以下结果:

  • 至少有一个表达式为 true,因此函数返回 true
  • 这两个表达式均为 false,因此函数返回 false

兰特

从指定范围返回一个随机整数,该整数仅在起始端包含。

rand(<minValue>, <maxValue>)
参数 必填 类型 描述
< minValue> 是的 整数 范围中最低的整数
< maxValue> 是的 整数 函数可以返回的范围中最高整数后面的整数
返回值 类型 描述
< 随机结果> 整数 从指定范围返回的随机整数

示例

此示例从指定范围中获取一个随机整数,不包括最大值:

rand(1, 5)

并返回 123或结果 4

范围

返回从指定整数开始的整数数组。

range(<startIndex>, <count>)
参数 必填 类型 描述
< startIndex> 是的 整数 将数组作为第一项启动的整数值
< 计数> 是的 整数 数组中的整数数
返回值 类型 描述
< 范围结果> 整数 包含从指定索引开始的整数的数组

示例

此示例创建一个整数数组,该数组从指定的索引 1 开始,并将指定的整数数指定为 4

range(1, 4)

返回结果 [1, 2, 3, 4]

removeProperty

从对象中删除属性并返回更新的对象。

removeProperty(<object>, '<property>')
参数 必填 类型 描述
< 对象> 是的 对象 要在其中删除属性的 JSON 对象
< 属性> 是的 字符串 要删除的属性的名称
返回值 类型 描述
< updated-object> 对象 未指定属性的已更新 JSON 对象

示例

此示例从 customerProfile 对象中删除 accountLocation 属性,该对象使用 json() 函数转换为 JSON,并返回更新的对象:

removeProperty(json('customerProfile'), 'accountLocation')

取代

将子字符串替换为指定的字符串,并返回结果字符串。 此函数区分大小写。

replace('<text>', '<oldText>', '<newText>')
参数 必填 类型 描述
< 文本> 是的 字符串 包含要替换的子字符串的字符串
< oldText> 是的 字符串 要替换的子字符串
< newText> 是的 字符串 替换字符串
返回值 类型 描述
< 更新文本> 字符串 替换子字符串后更新的字符串。 如果未找到子字符串,该函数将返回原始字符串。

示例 1

此示例查找旧字符串 中的子字符串,并将 替换为 新的

replace('the old string', 'old', 'new')

结果是新字符串 字符串。

示例 2

处理转义字符时,表达式引擎会为你处理 unescape。 此函数将字符串替换为转义字符。

replace('hello\"', '\"', '\n')
replace('hello\n', '\n', '\\\\')
@"replace('hello\\', '\\', '\\\\')"
@"replace('hello\n', '\n', '\\\\')"

并分别返回以下结果:

  • hello\n
  • hello\\
  • @“hello\\”
  • @“hello\\”

replaceIgnoreCase

将子字符串替换为指定的字符串,并返回结果字符串。 此函数不区分大小写。

replaceIgnoreCase('<text>', '<oldText>', '<newText>')
参数 必填 类型 描述
< 文本> 是的 字符串 包含要替换的子字符串的字符串
< oldText> 是的 字符串 要替换的子字符串
< newText> 是的 字符串 替换字符串
返回值 类型 描述
< 更新文本> 字符串 替换子字符串后更新的字符串。 如果未找到子字符串,则返回原始字符串。

示例

此示例查找字符串中的子字符串 旧字符串,并将 替换为

replace('the old string', 'old', 'new')

并返回新字符串 结果。

解决

如果给定的 TimexProperty 或 Timex 表达式引用有效时间,则返回字符串。 有效时间包含小时、分钟和秒。

resolve('<timestamp')
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串。
返回值 类型 描述
< 返回> 字符串 计算的 TimexProperty 或 Timex 表达式的字符串。

示例

这些示例显示给定字符串是否引用有效时间:

resolve(T14)
resolve(2020-12-20)
resolve(2020-12-20T14:20)

并分别返回以下结果:

  • 14:00:00
  • 2020-12-20
  • 2020-12-20 14:20:00

反向

反转字符串或数组中元素的顺序。

reverse(<value>)
参数 必填 类型 描述
< > 是的 字符串或数组 要反转的数组的字符串。
返回值 类型 描述
< 返回> 字符串或数组 字符串或数组的反向元素。

示例

这些示例将反转字符串或数组的元素:

reverse(hello)
reverse(concat(hello,world))

并分别返回以下值:

-字符串 olleh。 -字符串 dlrowolleh

将值舍入到最接近的整数或指定的小数位数。

round('<number>', '<precision-digits>')
参数 必填 类型 描述
< 数字> 是的 输入编号
< 精度位数> 整数 指定的小数位数。 默认值为 0。
返回值 类型 描述
< 返回值> 输入的返回值舍入为指定数量的小数位数

示例 1

此示例将数字舍入 为 10.33310.333:

round(10.333)

并返回数字 10

示例 2

此示例将数字 10.3313 舍入为 2 小数位数

round(10.3313, 2)

返回 10.33的数字。

选择

对每个元素进行作,并返回已转换元素的新集合。

select([<collection/instance>], <iteratorName>, <function>)
参数 必填 类型 描述
< 集合/实例> 是的 数组 包含项的集合
< iteratorName> 是的 迭代器名称 键项
< 函数> 是的 表达 可以包含 iteratorName 的函数
返回值 类型 描述
< 新集合> 数组 使用函数计算每个元素的新集合

示例 1

此示例生成一个新集合:

select(createArray(0, 1, 2, 3), x, x + 1)

返回结果 [1, 2, 3, 4]

示例 2

这些示例生成一个新集合:

select(json("{'name': 'jack', 'age': '15'}"), x, concat(x.key, ':', x.value))
select(json("{'name': 'jack', 'age': '15'}"), x=> concat(x.key, ':', x.value))

返回结果 ['name:jack', 'age:15']。 请注意,第二个表达式是 lambda 表达式,有些表达式会发现更具可读性。

sentenceCase

采用可选区域设置格式的字符串中首字母大写首字母。

sentenceCase('<text>', '<locale>'?)
参数 必填 类型 描述
< 文本> 是的 字符串 原始字符串
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
结果字符串 字符串 返回句子事例结果

示例 1

以下示例将字符串中的第一个字母大写:

sentenceCase('a')
sentenceCase('abc def')
sentenceCase('aBC dEF')

并分别返回以下结果:

  • A
  • Abc def
  • Abc def

示例 2

这些示例采用指定区域设置格式的字符串大写第一个字母:

sentenceCase('a', 'fr-FR')
sentenceCase('abc', 'en-US')
sentenceCase('aBC', 'fr-FR')

并分别返回以下结果:

  • A
  • Abc
  • Abc

setPathToValue

从 JSON 对象中检索指定属性的值。

setPathToValue(<path>, <value>)
参数 必填 类型 描述
< 路径> 是的 对象 要设置的路径
< > 是的 对象 要设置为路径的值
返回值 类型 描述
价值 对象 要设置的值

示例 1

以下示例将值 1 设置为路径:

setPathToValue(path.x, 1)

并返回结果 1path.x 设置为 1

示例 2

以下示例设置值:

setPathToValue(path.array[0], 7) + path.array[0]

并返回结果 14

setProperty

设置对象的属性的值并返回更新的对象。 若要添加新属性,请使用此函数或 addProperty() 函数。

setProperty(<object>, '<property>', <value>)
参数 必填 类型 描述
< 对象> 是的 对象 要在其中设置属性的 JSON 对象
< 属性> 是的 字符串 要设置的属性的名称
< > 是的 任何 要为指定属性设置的值
返回值 类型 描述
< updated-object> 对象 已更新的 JSON 对象,其属性已设置

示例

此示例设置 customerProfile 对象的 accountNumber 属性,该对象使用 json() 函数转换为 JSON。 该函数分配由 newGuid() 函数生成的值,并返回更新后的 JSON 对象:

setProperty(json('customerProfile'), 'accountNumber', newGuid())

从集合的前面删除项,并返回所有其他项。

skip([<collection>], <count>)
参数 必填 类型 描述
< 集合> 是的 数组 要删除其项的集合
< 计数> 是的 整数 前方要移除的项数的正整数
返回值 类型 描述
< updatedCollection> 数组 删除指定项后更新的集合

示例

此示例从指定数组的前面删除一个项,即数字 1

skip(createArray(0, 1, 2, 3), 1)

返回包含其余项的数组:[1,2,3]

sortBy

按升序对集合中的元素进行排序,并返回排序的集合。

sortBy([<collection>], '<property>')
参数 必填 类型 描述
< 集合> 是的 字符串或数组 要排序的集合
< 属性> 字符串 如果已设置,则按集合中对象元素的此特定属性排序
返回值 类型 描述
< 新集合> 数组 已对元素进行排序的新集合

示例 1

此示例生成对以下集合进行排序:

sortBy(createArray(1, 2, 0, 3))

返回结果 [0, 1, 2, 3]

示例 2

假设你有以下集合:

{
  'nestedItems': [
    {'x': 2},
    {'x': 1},
    {'x': 3}
  ]
}

此示例基于 x 对象属性生成新的排序集合

sortBy(nestedItems, 'x')

并返回结果:

{
  'nestedItems': [
    {'x': 1},
    {'x': 2},
    {'x': 3}
  ]
}

sortByDescending

按降序对集合中的元素进行排序,并返回排序的集合。

sortBy([<collection>], '<property>')
参数 必填 类型 描述
< 集合> 是的 字符串或数组 要排序的集合
< 属性> 字符串 如果已设置,则按集合中对象元素的此特定属性排序
返回值 类型 描述
< 新集合> 数组 已对元素进行排序的新集合

示例 1

此示例生成一个新的排序集合:

sortByDescending(createArray(1, 2, 0, 3))

并返回结果 [3, 2, 1, 0]

示例 2

假设你有以下集合:

{
  'nestedItems': [
    {'x': 2},
    {'x': 1},
    {'x': 3}
  ]
}

此示例基于 x 对象属性生成新的排序集合:

sortByDescending(nestedItems, 'x')

并返回以下结果:

{
  'nestedItems': [
    {'x': 3},
    {'x': 2},
    {'x': 1}
  ]
}

分裂

返回一个数组,该数组包含子字符串,用逗号分隔,基于原始字符串中的指定分隔符字符。

split('<text>', '<delimiter>'?)
参数 必填 类型 描述
< 文本> 是的 字符串 要根据原始字符串中的指定分隔符分隔成子字符串的字符串。 如果文本为 null 值,则将它视为空字符串。
< 分隔符> 字符串 要用作分隔符的原始字符串中的字符。 如果未提供分隔符或分隔符为 null 值,则默认值将为空字符串。
返回值 类型 描述
[<substring1>,<substring2>,...] 数组 包含原始字符串中的子字符串的数组,用逗号分隔

示例

这些示例基于指定的分隔符字符从指定字符串创建包含子字符串的数组:

split('a**b**c', '**')
split('hello', '')
split('', 'e')
split('', '')
split('hello')

并分别返回以下数组作为结果:

  • [“a”、“b”、“c”]
  • [“h”, “e”, “l”, “l”, “o”]
  • [“”][ ]
  • [“h”, “e”, “l”, “l”, “o”]

sqrt

返回指定数字的平方根。

sqrt(<number>)
参数 必填 类型 描述
< 数字> 是的 要获取其平方根的编号
返回值 类型 描述
< 结果> 计算平方根的结果。

示例

以下示例计算指定数字的平方根:

sqrt(9)
sqrt(0)

并分别返回以下结果:

  • 3
  • 0

startOfDay

以可选区域设置格式返回时间戳的开始日期。

startOfDay('<timestamp>', '<format>'?, '<locale>'?)
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串
< 格式> 字符串 自定义格式模式。 时间戳的默认格式为 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
“<updated-timestamp>” 字符串 从当天的零小时标记开始的指定时间戳

示例 1

本示例查找当天的开始时间:

startOfDay('2018-03-15T13:30:30.000Z')

并返回结果 2018-03-15T00:00:00.000Z

示例 2

此示例使用区域设置 fr-FR查找当天的开始时间:

startOfDay('2018-03-15T13:30:30.000Z', '', 'fr-FR')

并返回结果 15/03/2018 00:00:00

startOfHour

以可选区域设置格式返回时间戳的小时开始时间。

startOfHour('<timestamp>', '<format>'?, '<locale>'?)
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串
< 格式> 字符串 自定义格式模式。 时间戳的默认格式为 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
“<updated-timestamp>” 字符串 从当天的零分钟标记开始的指定时间戳

示例 1

此示例查找小时开始时间:

startOfHour('2018-03-15T13:30:30.000Z')

并返回结果 2018-03-15T13:00:00.000Z

示例 2

本示例查找区域设置 fr-FR的小时开始时间:

startOfHour('2018-03-15T13:30:30.000Z', '', 'fr-FR')

并返回结果 15/03/2018 13:00:00

startOfMonth

以可选区域设置格式返回时间戳的月份开始时间。

startOfMonth('<timestamp>', '<format>'?, '<locale>'?)
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串
< 格式> 字符串 自定义格式模式。 时间戳的默认格式为 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
“<updated-timestamp>” 字符串 从月份的第一天开始以零小时标记开始的指定时间戳

示例 1

此示例查找月份的开始时间:

startOfMonth('2018-03-15T13:30:30.000Z')

并返回结果 2018-03-01T00:00:00.000Z

示例 2

此示例使用区域设置 fr-FR查找月份的开始时间:

startOfMonth('2018-03-15T13:30:30.000Z', '', 'fr-FR')

并返回结果 01/03/2018 00:00:00

startsWith

检查字符串是否以特定的子字符串开头。 如果找到子字符串,则返回 true;如果未找到,则返回 false。 此函数不区分大小写。

startsWith('<text>', '<searchText>')
参数 必填 类型 描述
< 文本> 是的 字符串 要检查的字符串
< searchText> 是的 字符串 要查找的起始子字符串
返回值 类型 描述
true 或 false 布尔 如果找到起始子字符串,则返回 true。 如果未找到,则返回 false

示例 1

此示例检查字符串 hello world 是否以字符串开头 hello

startsWith('hello world', 'hello')

并返回结果 true

示例 2

此示例检查字符串 hello world 是否以字符串开头 问候语

startsWith('hello world', 'greeting')

并返回结果 false

字符串

以可选区域设置格式返回值的字符串版本。

string(<value>, '<locale>'?)
参数 必填 类型 描述
< > 是的 任何 要转换的值
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
< 字符串值> 字符串 指定值的字符串版本

示例 1

此示例创建数字的字符串版本 10

string(10)

并返回字符串结果 10

示例 2

此示例为指定的 JSON 对象创建字符串,并使用反斜杠字符\\作为双引号字符的转义字符,

string( { "name": "Sophie Owen" } )

并返回结果 { “name”: “Sophie Owen” }

示例 3

以下示例在特定区域设置中创建数字 10 的字符串版本:

string(100.1, 'fr-FR')
string(100.1, 'en-US')

并分别返回以下字符串:

  • 100,1
  • 100.1

stringOrValue

包装字符串内插以获取实际值。 例如,stringOrValue('${1}') 返回数字 1,而 stringOrValue('${1} item') 返回字符串“1 项”。

stringOrValue(<string>)
参数 必填 类型 描述
< 字符串> 是的 字符串 要从中获取实际值的字符串。
返回值 类型 描述
< 结果> 任何 获取指定字符串的实际值的结果。

示例

这些示例从字符串中获取实际值:

stringOrValue('${one}')
stringOrValue('${one} item')

并分别返回以下结果:

  • 数字 1.0
  • 字符串 1 项

返回从第一个数字中减去第二个数字的结果。

sub(<minuend>, <subtrahend>)
参数 必填 类型 描述
< minuend> 是的 从中减去 减法
< > 是的 要从 minuend 中减去的数字
返回值 类型 描述
< 结果> 从第一个数字中减去第二个数字的结果

示例

此示例从第一个数字中减去第二个数字:

sub(10.3, .3)

并返回结果 10

subArray

从指定的开始和结束位置返回子数组。 索引值以数字 0 开头。

subArray(<Array>, <startIndex>, <endIndex>)
参数 必填 类型 描述
< 数组> 是的 数组 要从中创建子数组的数组
< startIndex> 是的 整数 正数等于或大于 0,用作起始位置或索引值
< endIndex> 是的 整数 正数等于或大于 0,用作结束位置或索引值
返回值 类型 描述
< 子数组结果> 数组 具有指定数量的项的子数组,从源字符串中的指定索引位置开始

示例

此示例从指定的数组创建子数组:

subArray(createArray('H','e','l','l','o'), 2, 5)

并返回结果 [“l”, “l”, “o”]

从指定位置或索引开始的字符串中返回字符。 索引值以数字 0 开头。

substring('<text>', <startIndex>, <length>)
参数 必填 类型 描述
< 文本> 是的 字符串 要从中创建子字符串的字符串
< startIndex> 是的 整数 正数等于或大于 0 子数组,用作起始位置或索引值
< 长度> 是的 整数 子字符串中的字符子数组的正数
返回值 类型 描述
< 子字符串结果> 字符串 具有指定字符数的子字符串,从源字符串中的指定索引位置开始

示例

此示例从指定的字符串创建五个字符的子字符串,从索引值 6 开始:

substring('hello world', 6, 5)

并返回 世界的结果。

subtractFromTime

用可选区域设置格式从时间戳中减去一些时间单位。 另请参阅 getPastTime()

subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?, '<locale>'?)
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串
< 间隔> 是的 整数 要减去的指定时间单位数
< timeUnit> 是的 字符串 间隔一起使用的时间单位。 可能的单位为“Second”、“Minute”、“Hour”、“Day”、“Week”、“Month”和“Year”。
< 格式> 字符串 自定义格式模式。 时间戳的默认格式为 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
< 更新时间戳> 字符串 时间戳减去指定的时间单位数

示例 1

此示例从以下时间戳中减去一天:

subtractFromTime('2018-01-02T00:00.000Z', 1, 'Day')

并返回结果 2018-01-01T00:00:00.000Z

示例 2

此示例使用 D 格式从时间戳中减去一天:

subtractFromTime('2018-01-02T00:00.000Z', 1, 'Day', 'D')

并返回结果 2018 年 1 月 1 日星期一

示例 3

此示例从 de-DE 区域设置中的时间戳减去 1 小时

subtractFromTime('2018-03-15T13:00:00.000Z', 1, 'Hour', '', 'de-DE')

返回结果 15.03.18 12:00:00

返回在列表中添加数字的结果。

sum([<list of numbers>])
参数 必填 类型 描述
[<数字列表>] 是的 数字数组 要添加的数字
返回值 类型 描述
< 结果求和> 添加指定数字的结果

示例

此示例添加指定的数字:

sum(createArray(1, 1.5))

并返回结果 2.5

从集合的前面返回项。

take('<collection>', <count>)
take([<collection>], <count>)
参数 必填 类型 描述
< 集合> 是的 字符串或数组 所需项的集合
< 计数> 是的 整数 前方所需项数的正整数
返回值 类型 描述
< 子集> 或 [<子集>] 字符串或数组,分别 一个字符串或数组,其中包含从原始集合前面获取的指定数量的项

示例

这些示例从这些集合的前面获取指定的项数:

take('abcde', 3)
take(createArray(0, 1, 2, 3, 4), 3)

并分别返回以下结果:

  • abc
  • [0, 1, 2]

返回指定时间戳的刻度属性值。 时钟周期为 100 纳秒间隔。

ticks('<timestamp>')
参数 必填 类型 描述
< 时间戳> 是的 字符串 时间戳的字符串
返回值 类型 描述
< 刻度数> integer (JavaScript 中的 bigint) 自指定时间戳以来的刻度数

示例

此示例将时间戳转换为其时钟周期属性:

ticks('2018-01-01T08:00:00.000Z')

并返回结果 636503904000000000

ticksToDays

将刻度属性值转换为天数。

ticksToDays('ticks')
参数 必填 类型 描述
< 刻度> 是的 整数 要转换的 ticks 属性值
返回值 类型 描述
< 天数> 从刻度属性值转换的天数

示例

此示例将刻度属性值转换为天数:

ticksToDays(2193385800000000)

返回 2538.64097222的数字。

ticksToHours

将刻度属性值转换为小时数。

ticksToHours('ticks')
参数 必填 类型 描述
< 刻度> 是的 整数 要转换的 ticks 属性值
返回值 类型 描述
< 小时数> 从刻度属性值转换的小时数

示例

此示例将刻度属性值转换为小时数:

ticksToHours(2193385800000000)

并返回 60927.383333333331的数字。

ticksToMinutes

将刻度属性值转换为分钟数。

ticksToMinutes('ticks')
参数 必填 类型 描述
< 刻度> 是的 整数 要转换的 ticks 属性值
返回值 类型 描述
< 分钟数> 从刻度属性值转换的分钟数

示例

此示例将刻度属性值转换为分钟数:

ticksToMinutes(2193385800000000)

返回 3655643.0185的数字。

titleCase

以可选本地格式将字符串中每个单词的第一个字母大写。

titleCase('<text>', '<locale>'?)
参数 必填 类型 描述
< 文本> 是的 字符串 原始字符串
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
结果字符串 字符串 游戏事例结果

示例 1

这些示例将字符串中每个单词的第一个字母大写:

titleCase('a')
titleCase('abc def')
titleCase('aBC dEF')

并分别返回以下结果:

  • A
  • Abc Def
  • Abc Def

示例 2

这些示例以 en-US 格式将字符串中的第一个字母大写:

titleCase('a', 'en-US')
titleCase('aBC dEF', 'en-US')

并分别返回以下结果:

  • A
  • Abc Def

toLower

以可选区域设置格式以小写形式返回字符串。 如果字符串中的字符没有小写版本,则返回的字符串中该字符保持不变。

toLower('<text>', '<locale>'?)
参数 必填 类型 描述
< 文本> 是的 字符串 要以小写格式返回的字符串
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
< 小写文本> 字符串 采用小写格式的原始字符串

示例 1

此示例将字符串转换为小写:

toLower('Hello World')

并返回 hello world 结果。

示例 2

此示例以 fr-FR 格式将字符串转换为小写:

toUpper('Hello World', 'fr-FR')

并返回 hello world 结果。

toUpper

以可选区域设置格式返回大写字符串。 如果字符串中的字符没有大写版本,该字符在返回的字符串中保持不变。

toUpper('<text>', '<locale>'?)
参数 必填 类型 描述
< 文本> 是的 字符串 要以大写格式返回的字符串
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
< 大写文本> 字符串 采用大写格式的原始字符串

示例 1

此示例将字符串转换为大写:

toUpper('Hello World')

并返回 HELLO WORLD 结果。

示例 2

此示例以 fr-FR 格式将字符串转换为大写:

toUpper('Hello World', 'fr-FR')

并返回 HELLO WORLD 结果。

修剪

从字符串中删除前导空格和尾随空格,并返回更新后的字符串。

trim('<text>')
参数 必填 类型 描述
< 文本> 是的 字符串 包含要删除的前导空格和尾随空格的字符串
返回值 类型 描述
< updatedText> 字符串 原始字符串的更新版本,不带前导或尾随空格

示例

此示例从字符串 “Hello World”中删除前导空格和尾随空格:

trim(' Hello World  ')

并返回 hello World 剪裁的结果。

联盟

返回包含指定集合中的所有项的集合。 若要出现在结果中,项可以出现在传递给此函数的任何集合中。 如果一个或多个项具有相同的名称,则结果中会显示具有该名称的最后一项。

union('<collection1>', '<collection2>', ...)
union([<collection1>], [<collection2>], ...)
参数 必填 类型 描述
< collection1>,<collection2>,... 是的 数组或对象,但不是两者 要从中获取所有项的集合
返回值 类型 描述
< updatedCollection> 数组或对象,分别 具有指定集合中的所有项的集合。 未添加重复项。

示例

此示例从以下集合中获取所有项:

union(createArray(1, 2, 3), createArray(1, 2, 10, 101))

返回结果 [1, 2, 3, 10, 10]

独特

从数组中删除所有重复项。

unique([<collection>])
参数 必填 类型 描述
< 集合> 是的 数组 要修改的集合
返回值 类型 描述
< 新集合> 数组 删除了重复元素的新集合

示例 1

此示例从以下数组中删除重复元素:

unique(createArray(1, 2, 1))

并返回结果 [1, 2]

uriComponent

返回统一资源标识符(URI)组件的二进制版本。

uriComponent('<value>')
参数 必填 类型 描述
< > 是的 字符串 要转换为 URI 编码格式的字符串
返回值 类型 描述
< 编码 uri> 字符串 包含转义字符的 URI 编码字符串

示例

此示例创建字符串的 URI 编码版本:

uriComponent('https://contoso.com')

并返回 http%3A%2F%2Fcontoso.com 结果。

uriComponentToString

返回统一资源标识符(URI)编码字符串的字符串版本,有效解码 URI 编码的字符串。

uriComponentToString('<value>')
参数 必填 类型 描述
< > 是的 字符串 要解码的 URI 编码字符串
返回值 类型 描述
< binary-for-encoded-uri> 字符串 URI 编码字符串的解码版本

示例

此示例创建 URI 编码字符串的解码字符串版本:

uriComponentToString('http%3A%2F%2Fcontoso.com')

并返回结果 https://contoso.com

uriHost

返回统一资源标识符(URI)的主机值。

uriHost('<uri>')
参数 必填 类型 描述
< uri> 是的 字符串 需要其主机值的 URI
返回值 类型 描述
< 主机值> 字符串 指定 URI 的主机值

示例

此示例查找以下 URI 的主机值:

uriHost('https://www.localhost.com:8080')

并返回结果 www.localhost.com

uriPath

返回统一资源标识符(URI)的路径值。

uriPath('<uri>')
参数 必填 类型 描述
< uri> 是的 字符串 所需路径值的 URI
返回值 类型 描述
< 路径值> 字符串 指定 URI 的路径值

示例

此示例查找以下 URI 的路径值:

uriPath('http://www.contoso.com/catalog/shownew.htm?date=today')

并返回结果 /catalog/shownew.htm

uriPathAndQuery

返回统一资源标识符(URI)的路径和查询值。

uriPathAndQuery('<uri>')
参数 必填 类型 描述
< uri> 是的 字符串 所需路径和查询值的 URI
返回值 类型 描述
< path-query-value> 字符串 指定 URI 的路径和查询值

示例

此示例查找以下 URI 的路径和查询值:

uriPathAndQuery('http://www.contoso.com/catalog/shownew.htm?date=today')

返回结果 /catalog/shownew.htm?date=today

uriPort

返回统一资源标识符(URI)的端口值。

uriPort('<uri>')
参数 必填 类型 描述
< uri> 是的 字符串 所需路径值的 URI
返回值 类型 描述
< 端口值> 字符串 指定 URI 的端口值

示例

此示例查找以下 URI 的端口值:

uriPort('http://www.localhost:8080')

并返回结果 8080

uriQuery

返回统一资源标识符(URI)的查询值。

uriQuery('<uri>')
参数 必填 类型 描述
< uri> 是的 字符串 所需的查询值的 URI
返回值 类型 描述
< 查询值> 字符串 指定 URI 的查询值

示例

此示例查找以下 URI 的查询值:

uriQuery('http://www.contoso.com/catalog/shownew.htm?date=today')

返回结果 ?date=today

uriScheme

返回统一资源标识符(URI)的方案值。

uriScheme('<uri>')
参数 必填 类型 描述
< uri> 是的 字符串 所需的查询值的 URI
返回值 类型 描述
< 方案-值> 字符串 指定 URI 的方案值

示例

此示例查找以下 URI 的方案值:

uriQuery('http://www.contoso.com/catalog/shownew.htm?date=today')

并返回 http 结果。

utcNow

以可选区域设置格式作为字符串返回当前时间戳。

utcNow('<format>', '<locale>'?)

(可选)可以使用 <格式> 参数指定不同的格式。

参数 必填 类型 描述
< 格式> 字符串 自定义格式模式。 时间戳的默认格式为 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
< 区域设置> 字符串 区域性信息的可选区域设置
返回值 类型 描述
< current-timestamp> 字符串 当前日期和时间

示例 1

假设日期是 2018 年 4 月 15 日,下午 1:00:00。 此示例获取时间戳:

utcNow()

并返回结果 2018-04-15T13:00:00.000Z

示例 2

假设日期是 2018 年 4 月 15 日,下午 1:00:00。 此示例使用可选的 D 格式获取当前时间戳:

utcNow('D')

并返回结果 ,2018 年 4 月 15 日,

示例 3

假设日期是 2018 年 4 月 15 日,下午 1:00:00。 此示例使用 de-DE 区域设置获取当前时间戳:

utcNow('', 'de-DE')

并返回结果 15.04.18 13:00:00

哪里

筛选每个元素,并返回与特定条件匹配的筛选元素的新集合。

where([<collection/instance>], <iteratorName>, <function>)
参数 必填 类型 描述
< 集合/实例> 是的 数组 包含项的集合
< iteratorName> 是的 迭代器名称 键项
< 函数> 是的 表达 用于筛选项的条件函数
返回值 类型 描述
< new-collection/new-object> array/object 已使用函数筛选每个元素的新集合

示例 1

此示例生成一个新集合:

where(createArray(0, 1, 2, 3), x, x > 1)

并返回结果 [2, 3]

示例 2

这些示例生成一个新集合:

where(json("{'name': 'jack', 'age': '15'}"), x, x.value == 'jack')
where(json("{'name': 'jack', 'age': '15'}"), x=> x.value == 'jack')

返回结果 ['name:jack', 'age:15']。 请注意,第二个表达式是 lambda 表达式,有些表达式会发现更具可读性。

xml

返回包含 JSON 对象的字符串的 XML 版本。

xml('<value>')
参数 必填 类型 描述
< > 是的 字符串 包含要转换的 JSON 对象的字符串。 JSON 对象必须只有一个根属性,不能是数组。 将 \ 用作双引号()的转义字符。
返回值 类型 描述
< xml 版本> 对象 指定字符串或 JSON 对象的编码 XML

示例 1

此示例为包含 JSON 对象的字符串创建 XML 版本:

xml(json('{ \"name\": \"Sophia Owen\" }'))

并返回结果 XML:

<name>Sophia Owen</name>

示例 2

假设你有一个 person JSON 对象,如下所示:

{
  "person": {
    "name": "Sophia Owen",
    "city": "Seattle"
  }
}

此示例创建包含此 JSON 对象的字符串的 XML:

xml(json('{\"person\": {\"name\": \"Sophia Owen\", \"city\": \"Seattle\"}}'))

并返回结果 XML:

<person>
  <name>Sophia Owen</name>
  <city>Seattle</city>
<person

xPath

检查 XML 中是否存在与 XPath(XML 路径语言)表达式匹配的节点或值,并返回匹配的节点或值。 XPath 表达式(称为 XPath)有助于导航 XML 文档结构,以便在 XML 内容中选择节点或计算值。

xPath('<xml>', '<xpath>')
参数 必填 类型 描述
< xml> 是的 任何 要搜索与 XPath 表达式值匹配的节点或值的 XML 字符串
< xPath> 是的 任何 用于查找匹配的 XML 节点或值的 XPath 表达式
返回值 类型 描述
< xml-node> XML 仅当单个节点与指定的 XPath 表达式匹配时,XML 节点
< > 任何 仅当单个值与指定的 XPath 表达式匹配时,来自 XML 节点的值
< [<xml-node1>, <xml-node2>, ...] -or- [<value1>, <value2>, ...]> 数组 具有与指定 XPath 表达式匹配的 XML 节点或值的数组

示例 1

此示例查找与指定参数中的 <name></name> 节点匹配的节点,并返回具有这些节点值的数组:

xPath(items, '/produce/item/name')

参数包括 字符串 项,其中包含以下 XML:

"<?xml version="1.0"?> <produce> <item> <name>Gala</name> <type>apple</type> <count>20</count> </item> <item> <name>Honeycrisp</name> <type>apple</type> <count>10</count> </item> </produce>"

下面是与 <name></name>匹配的节点的结果数组:

[ <name>Gala</name>, <name>Honeycrisp</name> ]

示例 2

以下示例 1 查找与 <count></count> 节点匹配的节点,并使用 sum() 函数添加这些节点值:

xPath(xml(parameters('items')), 'sum(/produce/item/count)')

并返回结果 30

返回指定时间戳的年份。

year('<timestamp>')
参数 必填 类型 描述
< 时间戳> 是的 字符串 包含时间戳的字符串
返回值 类型 描述
< > 整数 指定时间戳中的年份

示例

此示例计算年份的时间戳:

year('2018-03-15T00:00:00.000Z')

它返回结果 2018