自適性表達式預先建置的函式

適用於: SDK v4

本文列出依其一般用途排序的可用預建函式。 如需預建函式和表達式語法中使用的運算符相關信息,請參閱 運算符

預先建置的運算式分成下列函式類型:

您也可以依 字母順序檢視清單。

字串函數

函式 說明
length 傳回字串的長度。
replace 以指定的字串取代子字串,並傳回更新的字串。 此函式會區分大小寫。
replaceIgnoreCase 以指定的字串取代子字串,並傳回更新的字串。 此函式不區分大小寫。
split 根據指定的分隔符傳回包含子字串的陣列。
傳回字串中的字元。
toLower 以選擇性地區設定格式傳回小寫的字串。
toUpper 以選擇性的地區設定格式傳回大寫的字串。
修剪 從字串中移除開頭和尾端空格符。
addOrdinal 傳回輸入編號的序數。
endsWith 檢查字串是否以特定子字串結尾。 true如果找到子字串,則傳回 ;如果找不到,則傳回 false 。 此函式不區分大小寫。
startsWith 檢查字串是否以特定子字串開頭。 true如果找到子字串,則傳回 ;如果找不到,則傳回 false 。 此函式不區分大小寫。
countWord 傳回指定字串中的字數。
concat 結合兩個或多個字串,並傳回產生的字串。
newGuid 傳回新的 Guid 字串。
indexOf 傳回子字串 的起始位置或索引值,或 搜尋指定的物件,並傳回整個清單中第一次出現之以零起始的索引。 此函式不區分大小寫,而索引開頭為數位0。
lastIndexOf 傳回子字串 最後一次出現的起始位置或索引值,或 搜尋指定的物件,並傳回清單中專案範圍內最後一次出現的以零起始的索引。此函式不區分大小寫,而索引開頭為數位0。
sentenceCase 以選擇性的本機格式將字串中第一個單字的第一個字母大寫。
titleCase 以選擇性地區設定格式將每個單字的第一個字母大寫。
reverse 反轉字串或陣列中的項目順序。

集合函數

函式 說明
contains 可以尋找字串中的項目、尋找數位中的專案,或尋找複雜物件中的參數。
範例
contains('hello world', 'hello')
contains(createArray('1','2'), '1')
contains(json(“{'foo':'bar'}”),'foo')
first 從集合傳回第一個專案。
join 傳回字串,其中包含數位中的所有專案,且每個字元都以分隔符分隔。
範例:
join(createArray('a','b'), '.') = “a.b”
last 傳回集合中的最後一個專案。
計數 傳回集合中的項目數。
foreach 在每個專案上操作,並傳回新的集合。
union 傳回具有指定集合中所有專案的集合。
從集合前面移除專案,並傳回其餘專案。
take 傳回集合前端的專案。
交叉口 傳回集合,該集合只具有指定集合中的一般專案。
subArray 從指定的開始和結束位置傳回子陣列。 索引值從數位 0 開始。
select 在每個元素上操作,並傳回已轉換專案的新集合。
where 篩選每個元素,並傳回符合特定條件之篩選專案的新集合。
sortBy 以遞增順序排序集合中的專案,並傳回已排序的集合。
sortByDescending 以遞減順序排序集合中的專案,並傳回已排序的集合。
indicesAndValues 將陣列或物件轉換成具有index和 value 屬性的物件陣列。
flatten 將陣列扁平化為具有非數位值的陣列。
unique 從陣列中移除所有重複專案。
any 判斷序列的任何專案是否符合條件。
全部 判斷序列的所有專案是否符合條件。
reverse 反轉字串或陣列中的項目順序。
合併 將陣列中的多個 JSON 物件或項目合併在一起。

邏輯比較函數

函式 說明
and 邏輯和。 如果所有指定的表達式評估為 true,則傳回 true。
equals 比較相等。 如果指定的值相等,則傳回 true。
empty 檢查目標是否為空白。
greater 大於的比較。 如果第一個值更多,則傳 true 回 ;如果小於則傳回 false
greaterOrEquals 大於或等於的比較。 true如果第一個值大於或等於,則傳回 ;如果第一個值小於,則傳回 false
if 檢查表達式是否為 true 或 false。 根據結果,傳回指定的值。
less 比較小於作業。 true如果第一個值較少,則傳回 ;如果第一個值更多,則傳回 false
lessOrEquals 比較小於或等於作業。 true如果第一個值小於或等於,則傳回 ;如果第一個值更多,則傳回 false
not 邏輯 not 運算子。 true如果表示式為 false,則傳回 ;如果為 true,則傳回 false
or 邏輯或作業。 如果至少有一個運算式為 true,則傳 true 回 ;如果全部為 false,則傳回 false
exists 評估表達式的真實性。

轉換函數

函式 說明
float 傳回指定字串的浮點表示。
int 傳回指定字串的整數表示。
string 以選擇性的地區設定格式傳回指定值的字串版本。
bool 傳回指定字串的布爾值表示。
createArray 從多個輸入建立陣列。
Json 傳回字串或 XML 的 JavaScript 物件表示法 (JSON) 類型值或物件。
base64 傳回字串或位元組數位的base64編碼版本。
base64ToBinary 傳回base64編碼字串的二進位版本。
base64ToString 傳回base64編碼字串的字串版本。
binary 傳回輸入值的二進位版本。
dataUri 傳回輸入值的 URI。
dataUriToBinary 傳回數據 URI 的二進位版本。
dataUriToString 傳回數據 URI 的字串版本。
uriComponent 將 URL 不安全字元取代為逸出字元,以傳回輸入值的 URI 編碼版本。
uriComponentToString 傳回 URI 編碼字串的字串版本。
xml 傳回字串的 XML 版本。
formatNumber 將值格式化為最接近的數位到指定的小數位數,以及選擇性的指定地區設定。
jsonStringify 傳回值的 JSON 字串。
stringOrValue Wrap 字串插補以取得實際值。 例如, stringOrValue('${1}') 傳回數位 1,同時 stringOrValue('${1} item') 傳回字串 「1 item」。

數學函數

函式 說明
abs 傳回指定數字的絕對值。
add 數學和。 傳回兩個數位(純數位大小寫)或串連兩個或多個字串的結果。
div 數學除法。 傳回除兩個數位的整數結果。
max 從集合傳回最大值。
min 從集合傳回最小值。
國防部 傳回除兩個數位的餘數。
mul 數學乘法。 傳回乘兩個數字的產品。
rand 傳回指定最小值和最大值之間的隨機數。
sqrt 傳回指定數位的平方根。
數學減法。 傳回從第一個數字減去第二個數字的結果。
sum 傳回數位中數位的總和。
range 傳回從指定整數開始的整數數位。
exp 將一個數字的指數傳回另一個數位。
平均 傳回數值陣列的平均數目。
floor 傳回小於或等於指定數位的最大整數值。
天花板 傳回大於或等於指定數位的最小整數值。
round 將值四捨五入為最接近的整數或指定的小數位數。

日期和時間函式

函式 說明
addDays 以選擇性的地區設定格式,將指定的天數新增至指定的時間戳。
addHours 以選擇性的地區設定格式,將指定的時數新增至指定的時間戳。
addMinutes 以選擇性的地區設定格式,將指定的分鐘數新增至指定的時間戳。
addSeconds 將指定的秒數新增至指定的時間戳。
dayOfMonth 傳回指定時間戳或 Timex 表達式的月份日期。
dayOfWeek 傳回指定時間戳的星期幾。
dayOfYear 傳回指定時間戳的年份日期。
formatDateTime 以選擇性的地區設定格式傳回時間戳。
formatEpoch 從 UNIX Epoch 時間(Unix 時間、POSIX 時間)傳回選擇性地區設定格式的時間戳。
formatTicks 從刻度傳回選擇性地區設定格式的時間戳。
subtractFromTime 以選擇性的地區設定格式,從時間戳減去一些時間單位。
utcNow 以選擇性的地區設定格式傳回目前的時間戳做為字串。
dateReadBack 使用日期時間連結庫來提供日期回寫。
month 傳回指定時間戳的月份。
date 傳回指定時間戳的日期。
year 傳回指定時間戳的年份。
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 如果字串符合一般 regex 模式,則傳回 true。

類型檢查函式

函式 說明
Eol 傳回行尾 (EOL) 序列文字。
isInteger 如果指定的輸入是整數數,則傳回 true
isFloat 如果指定的輸入是浮點數,則傳回 true
isBoolean 如果指定的輸入是布爾值,則傳回 true。
isArray 如果指定的輸入是陣列,則傳回 true。
isObject 如果指定的輸入是 物件,則傳回 true。
isDateTime 如果指定的輸入為UTC ISO格式時間戳,則傳回 true。
isString 如果指定的輸入是字串,則傳回 true

預先建置的函式會依字母順序排序

abs

傳回指定數字的絕對值。

abs(<number>)
參數 必要 類型​ 描述
<number> Yes number 要取得絕對值的數位
傳回值 類型 描述
<result> number 計算絕對值的結果。

範例

這些範例會計算絕對值:

abs(3.12134)
abs(-3.12134)

兩者都會傳回結果 3.12134

add

傳回新增兩個或多個數位(純數位大小寫)或串連兩個或多個字元串的結果(其他大小寫)。

add(<item1>, <item2>, ...)
參數 必要 類型​ 描述
<item1>、 <item2>,... Yes 任意 項目
傳回值 類型 描述
<result-sum> number 或 string 加入指定數位或 concat 結果的結果。

範例

本範例會新增指定的數位:

add(1, 1.5)

並傳回結果 2.5

此範例會串連指定的專案:

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

並傳回結果

  • 你好
  • helloworld

addDays

以選擇性的地區設定格式,將天數新增至時間戳。

addDays('<timestamp>', <days>, '<format>'?, '<locale>'?)
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串,其必須是標準 UTC ISO 格式
YYYY-MM-DDTHH:mm:ss.fffZ
<> Yes 整數 要加入的正數或負數天數
<format> No string 自訂格式模式。 時間戳的預設格式為 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
<updated-timestamp> string 時間戳加上指定的天數

範例 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

本範例會在 de-DE 地區設定中將 1 天新增至指定的時間戳:

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

並傳回結果 16.03.18 13:00:00

addHours

以選擇性的地區設定格式,將小時數新增至時間戳。

addHours('<timestamp>', <hours>, '<format>'?, '<locale>'?)
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串
<小時> Yes 整數 要加入的正時數或負數
<format> No string 自訂格式模式。 時間戳的預設格式為 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
<updated-timestamp> string 時間戳加上指定的時數

範例 1

此範例會將 10 小時新增至指定的時間戳:

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

並傳回結果 2018-03-15T10:00:00.000Z

範例 2

此範例會從指定的時間戳減去五個小時:

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

並傳回結果 2018-03-15T10:00:00.000Z

範例 3

本範例會在 de-DE 地區設定中將 2 小時新增至指定的時間戳:

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

並傳回結果 15.03.18 15:00:00

addMinutes

以選擇性的地區設定格式,將分鐘數新增至時間戳。

addMinutes('<timestamp>', <minutes>, '<format>'?, '<locale>'?)
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串
<分鐘> Yes 整數 要加入的正數或負數分鐘數
<format> No string 自訂格式模式。 時間戳的預設格式為 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
<updated-timestamp> string 時間戳加上指定的分鐘數

範例 1

此範例會將 10 分鐘新增至指定的時間戳:

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

並傳回結果 2018-03-15T00:20:00.000Z

範例 2

此範例會從指定的時間戳減去五分鐘:

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

並傳回結果 2018-03-15T00:15:00.000Z

範例 3

本範例會在 de-DE 地區設定中將 30 分鐘新增至指定的時間戳:

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

並傳回結果 15.03.18 13:30:00

addOrdinal

傳回輸入編號的序數。

addOrdinal(<number>)
參數 必要 類型​ 描述
<number> Yes 整數 要轉換成序數的數位
傳回值 類型 描述
<result> string 從輸入編號轉換的序數

範例

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

並分別傳回下列結果:

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

addProperty

將屬性及其值或名稱/值組新增至 JSON 物件,並傳回更新的物件。 如果物件已存在於運行時間,函式會擲回錯誤。

addProperty('<object>', '<property>', value)
參數 必要 類型​ 描述
<object> Yes object 您要在其中新增屬性的 JSON 物件
<property> Yes string 要加入的屬性名稱
<value> Yes 任意 屬性的值
傳回值 類型 描述
<updated-object> object 新增屬性之後更新的 JSON 物件

範例

此範例會將 accountNumber 屬性新增至 customerProfile 物件,該物件會使用 json() 函式轉換成 JSON。 函式會指派 newGuid() 函式所產生的值,並傳回更新的物件:

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

addSeconds

將秒數新增至時間戳。

addSeconds('<timestamp>', <seconds>, '<format>'?)
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串
<seconds> Yes 整數 要加入的正秒數或負數
<format> No string 自訂格式模式。 時間戳的預設格式為 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
傳回值 類型 描述
<updated-timestamp> string 時間戳加上指定的秒數

範例 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>'?)
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串
<區間> Yes 整數 要加入的指定時間單位數目
<timeUnit> Yes string 要搭配 間隔使用的時間單位。 可能的單位為 “Second”、“Minute”、“Hour”、“Day”、“Week”、“Month” 和 “Year”。
<format> No string 自訂格式模式。 時間戳的預設格式為 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
<updated-timestamp> string 時間戳加上指定格式的指定時間單位數目。

範例 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>)
參數 必要 類型​ 描述
<序列> Yes object 要評估的序列。
<專案> Yes string 參考序列中要評估的專案。
<condition> Yes expression 要評估條件的表達式。
傳回值 類型 描述
[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>, ... Yes 布林值 要檢查的表達式
傳回值 類型 描述
[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>)
參數 必要 類型​ 描述
<序列> Yes object 要評估的序列。
<專案> Yes string 參考序列中要評估的專案。
<condition> Yes expression 要評估條件的表達式。
傳回值 類型 描述
[True] 或 [False] 布林值 如果所有元素都符合條件,則傳回 true 。 如果至少有未傳回 ,則傳回 false

範例

這些範例會判斷序列的所有元素是否符合條件:

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

並分別傳回下列結果:

  • true,因為序列中至少有一個專案是整數
  • false,因為序列中的兩個專案都不是整數。

平均值

傳回數值陣列的平均值。

average(<numericArray>)
參數 必要 類型​ 描述
<numericArray> Yes number 的陣列 要計算平均值的輸入陣列
傳回值 類型 描述
<average-of-array> number 指定陣列的平均值

範例

此範例會計算 中 createArray()陣列的平均值:

average(createArray(1,2,3))

並傳回結果 2

base64

傳回字串或位元組數位的base64編碼版本。

base64('<value>')
參數 必要 類型​ 描述
<value> Yes 字串或位元組陣列 輸入字串
傳回值 類型 描述
<base64-string> string 輸入字串的base64編碼版本

範例 1

此範例會將字串 hello 轉換成 base64 編碼的字串:

base64('hello')

並傳回結果 「aGVsbG8=」。

範例 2

這個範例採用 byteArr等於 new byte[] { 3, 5, 1, 12 }的 。

base64('byteArr')

並傳回結果 「AwUBDA==」。。

base64ToBinary

傳回base64編碼字串的二進位數位。

base64ToBinary('<value>')
參數 必要 類型​ 描述
<value> Yes string 要轉換的base64編碼字串
傳回值 類型 描述
<binary-for-base64-string> 位元組陣列 base64 編碼字串的二進位版本

範例

這個範例會將base64編碼的字串 AwUBDA== 轉換成二進位字串:

base64ToBinary('AwUBDA==')

並傳回結果 new byte[] { 3, 5, 1, 12 }

base64ToString

傳回base64編碼字串的字串版本,有效地譯碼base64字串。

base64ToString('<value>')
參數 必要 類型​ 描述
<value> Yes string 要譯碼的base64編碼字串
傳回值 類型 描述
<decoded-base64-string> string base64 編碼字串的字串版本

範例

此範例會將base64編碼的字串 aGVsbG8= 轉換成譯碼的字串:

base64ToString('aGVsbG8=')

並傳回結果 hello

binary

傳回字串的二進位版本。

binary('<value>')
參數 必要 類型​ 描述
<value> Yes string 要轉換的字串
傳回值 類型 描述
<binary-for-input-value> 位元組陣列 指定字串的二進位版本

範例

此範例會將字串 hello 轉換成二進位字串:

binary('hello')

並傳回結果 new byte[] { 104, 101, 108, 108, 111 }

bool

傳回值的布爾值版本。

bool(<value>)
參數 必要 類型​ 描述
<value> Yes 任意 要轉換的值
傳回值 類型 描述
[True] 或 [False] 布林值 指定值的布爾值版本

範例

這些範例會將指定的值轉換成布爾值:

bool(1)
bool(0)

並分別傳回下列結果:

  • true
  • false

天花板

傳回小於或等於指定數位的最大整數值。

ceiling('<number>')
參數 必要 類型​ 描述
<number> Yes number 輸入編號
傳回值 類型 描述
<integer-value> 整數 大於或等於輸入數位的最大整數值

範例

此範例會傳回小於或等於數位 10.333 的最大整數值:

ceiling(10.333)

並傳回整數 11

合併

從一或多個參數傳回第一個非 Null 值。 空字串、空陣列和空白物件不是 Null。

coalesce(<object**1>, <object**2>, ...)
參數 必要 類型​ 描述
<object**1>, <object**2>, ... Yes 任何 (可接受混合類型) 要檢查 Null 的一或多個專案
傳回值 類型 描述
<first-non-null-item> 任意 不是 Null 的第一個專案或值。 如果所有參數都是 Null,則此函式會傳回 null。

範例

這些範例會從指定的值傳回第一個非 Null 值,當所有值都是 Null 時,則傳回 null:

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

並分別傳回:

  • true
  • 你好
  • null

concat

合併兩個或多個物件,並傳回清單或字串中的合併物件。

concat('<text1>', '<text2>', ...)
參數 必要 類型​ 描述
<object1>, <object2>, ... Yes 任意 至少要 concat 的兩個物件。
傳回值 類型 描述
<object1object2...> 字串或清單 合併的字串或清單。 略過 Null 值。

預期的傳回值:

  • 如果所有專案都是清單,則會傳回清單。
  • 如果專案不是清單,則會傳回字串。
  • 如果值為 null,則會略過該值,且不會串連。

範例

此範例結合字串 HelloWorld

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

contains

檢查集合是否有特定專案。 true如果找到專案,則傳回 ;如果找不到,則傳回 false 。 此函式會區分大小寫。

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

此函式適用於下列集合類型:

  • 要尋找子字串的字串
  • 要尋找值的陣列
  • 要尋找索引鍵的字典
參數 必要 類型​ 描述
<collection> Yes 字串、陣列或字典 要檢查的集合
<value> Yes 分別字串、陣列或字典 要尋找的專案
傳回值 類型 描述
[True] 或 [False] 布林值 如果找到專案,則傳回 true 。 如果找不到,則傳回 false

範例 1

此範例會檢查字串 hello world 中的子字串

contains('hello world', 'world')

並傳回結果 true

範例 2

此範例會檢查字串 hello world 是否有子字串 宇宙

contains('hello world', 'universe')

並傳回結果 false

計數

傳回集合中的項目數。

count('<collection>')
count([<collection>])
參數 必要 類型​ 描述
<collection> Yes 字串或陣列 要計算之專案的集合
傳回值 類型 描述
<length-or-count> 整數 集合中的項目數目

範例:

這些範例會計算這些集合中的項目數目:

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

兩者都會傳回結果 4

countWord

傳回字串中的字數

countWord('<text>')
參數 必要 類型​ 描述
<text> string 要計算的字串
傳回值 類型 描述
<計數> 整數 字串中的字數

範例

此範例會計算字串 hello world 中的字數:

countWord("hello word")

並傳回結果 2

convertFromUTC

將選擇性地區設定格式的時間戳從通用時間國際標準 (UTC) 轉換為目標時區。

convertFromUTC('<timestamp>', '<destinationTimeZone>', '<format>'?, '<locale>'?)
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串
<destinationTimeZone> Yes string 目標時區的名稱。 支援 Windows 和 IANA 時區。
<format> No string 自訂格式模式。 時間戳的預設格式是 「o」 格式 yyyy-MM-ddTHH:mm:ss.fffffffK,符合 ISO 8601
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
<converted-timestamp> string 轉換成目標時區的時間戳

範例:

這些範例會從 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>'?)
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串
<sourceTimeZone> Yes string 目標時區的名稱。 支援 Windows 和 IANA 時區。
<format> No string 自訂格式模式。 時間戳的預設格式為 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
<converted-timestamp> string 轉換成目標時區的時間戳

範例

本範例會將時間戳從太平洋標準時間轉換成 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>, ... Yes 任何,但不混合 至少要建立陣列的兩個專案
傳回值 類型 描述
[<object1>, <object2>, ...] 陣列 從所有輸入專案建立的陣列

範例

此範例會從下列輸入建立數位:

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

並傳回結果 [h,e, l, l, o]

dataUri

傳回字串的數據統一資源標識碼(URI)。

dataUri('<value>')
參數 必要 類型​ 描述
<value> Yes string 要轉換的字串
傳回值 類型 描述
[<date-uri>] string 輸入字串的數據 URI

範例

dataUri('hello')

傳回結果 數據:text/plain;charset=utf-8;base64,aGVsbG8=

dataUriToBinary

傳回數據統一資源標識碼的二進位版本(URI)。

dataUriToBinary('<value>')
參數 必要 類型​ 描述
<value> Yes string 要轉換的數據 URI
傳回值 類型 描述
[<binary-for-data-uri>] 位元組陣列 數據 URI 的二進位版本

範例

此範例會建立下列資料 URI 的二進位版本:

dataUriToBinary('aGVsbG8=')

並傳回結果 new byte[] { 97, 71, 86, 115, 98, 71, 56, 61 }

dataUriToString

傳回數據統一資源標識碼的字串版本(URI)。

dataUriToString('<value>')
參數 必要 類型​ 描述
<value> Yes string 要轉換的數據 URI
傳回值 類型 描述
[<string-for-data-uri>] string 數據 URI 的字串版本

範例

此範例會從下列資料 URI 建立字串:

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

並傳回結果 hello

date

以 m/dd/yyyy 格式傳回指定時間戳的日期。

date('<timestramp>')
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串
傳回值 類型 描述
<date> string 指定時間戳的日期
date('2018-03-15T13:00:00.000Z')

傳回結果 3-15-2018

dateReadBack

使用日期時間連結庫來提供日期回寫。

dateReadBack('<currentDate>', '<targetDate>')
參數 必要 類型​ 描述
<currentDate> Yes string 包含目前日期的字串
<targetDate> Yes string 包含目標日期的字串
傳回值 類型 描述
<date-readback> string 目前日期與目標日期之間的回寫

範例 1

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

明天傳回結果

dateTimeDiff

傳回兩個時間戳之間的刻度差異。

dateTimeDiff('<timestamp1>', '<timestamp2>')
參數 必要 類型​ 描述
<timestamp1> Yes string 要比較的第一個時間戳字串
<timestamp2> Yes string 要比較的第二個時間戳字串
傳回值 類型 描述
<> number 兩個時間戳之間的刻度差異

範例 1

此範例會傳回兩個時間戳之間的刻度差異:

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

並傳回數位 31536000000000。

範例 2

此範例會傳回兩個時間戳之間的刻度差異:

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

傳回結果 -315360000000000。 值為負數。

dayOfMonth

從時間戳傳回月份的日期。

dayOfMonth('<timestamp>')
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串
傳回值 類型 描述
<月日> 整數 指定時間戳中的月份日期

範例

此範例會從下列時間戳傳回月份日期的數位:

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

並傳回結果 15

dayOfWeek

傳回時間戳中的星期幾。

dayOfWeek('<timestamp>')
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串
傳回值 類型 描述
<一周中的一天> 整數 指定時間戳中的星期數。 星期日為 0,星期一為 1,依此類推。

範例

此範例會從下列時間戳傳回星期幾的數位:

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

並傳回結果 3

dayOfYear

從時間戳傳回年份的日期。

dayOfYear('<timestamp>')
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串
傳回值 類型 描述
<一年中的一天> 整數 指定時間戳中的年份日期

範例

此範例會從下列時間戳傳回年份的日期數目:

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

並傳回結果 74

div

傳回除兩個數位的整數結果。 若要傳回餘數,請參閱 mod()

div(<dividend>, <divisor>)
參數 必要 類型​ 描述
<dividend> Yes number 要除以 除數的數位
<divisor> Yes number 的數位。 不能是 0。
傳回值 類型 描述
<quotient-result> number 將第一個數位除以第二個數字的結果

範例

這兩個範例都會將第一個數位除以第二個數位:

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

並傳回結果 2

Javascript 與 .NET SDK 之間存在一些差距。 例如,下列表達式會在 Javascript 和 .NET SDK 中傳回不同的結果:

如果其中一個參數是 float,結果也會是具有 .NET SDK 的 FLOAT。

範例

div(11.2, 2)

傳回結果 5.6

如果其中一個參數是 float,則結果會是具有 Javascript SDK 的 INT。

範例

div(11.2, 2)

傳回結果 5

Javascript 在結果中保留特定小數位數的因應措施是使用這類表達式。 例如,若要保留 3 個小數字數:

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

empty

檢查實例是否為空的。 如果輸入是空的,則傳回 true 。 空白表示:

  • input 為 null 或 undefined
  • input 是 Null 或空字串
  • 輸入為零大小集合
  • input 是沒有屬性的物件。
empty('<instance>')
empty([<instance>])
參數 必要 類型​ 描述
<instance> Yes 任意 要檢查的實例
傳回值 類型 描述
[True] 或 [False] 布林值 當實體是空的時傳回 true

範例

這些範例會檢查指定的實體是否為空的:

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

並分別傳回這些結果:

  • 傳遞空字串,讓函式傳 true回 。
  • 傳遞字串 abc,讓函式傳 false回 。
  • 使用一個項目傳遞集合,因此函式會傳 false回 。
  • 傳遞 Null 物件,讓函式傳 true回 。

endsWith

檢查字串是否以特定子字串結尾。 true如果找到子字串,則傳回 ;如果找不到,則傳回 false 。 此函式不區分大小寫。

endsWith('<text>', '<searchText>')
參數 必要 類型​ 描述
<text> string 要檢查的字串
<searchText> Yes string 要尋找的結束子字串
傳回值 類型 描述
[True] 或 [False] 布林值 找到結束子字串時傳回 true 。 如果找不到,則傳回false

範例 1

此範例會檢查 hello world 字串是否以字串世界結尾:

endsWith('hello world', 'world')

並傳回結果 true

範例 2

此範例會檢查 hello world 字串是否以字串宇宙結尾:

endsWith('hello world', 'universe')

並傳回結果 false

Eol

傳回行尾 (EOL) 序列文字。

EOL()
傳回值 類型 描述
<IsOSPlatform> string 在 Windows 中傳回 \r\n,在 Mac 和 Linux 中傳回 \n

範例

此範例會檢查列序列文字的結尾:

EOL()

並傳回下列字串:

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

等於

檢查兩個值、表達式或物件是否相等。 如果兩者相等,則傳 true 回 ;如果兩者不相等,則傳回 false

equals('<object1>', '<object2>')
參數 必要 類型​ 描述
<object1>, <object2> Yes 任意 要比較的值、表達式或物件
傳回值 類型 描述
[True] 或 [False] 布林值 當兩者相等時傳回 true 。 如果 不是相等,則傳回 false

範例

這些範例會檢查指定的輸入是否相等:

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

並分別傳回這些結果:

  • 這兩個值都相等,因此函式會傳 true回 。
  • 這兩個值不相等,因此函式會傳 false回 。

存在

評估表達式的真實性。

exists(expression)
參數 必要 類型​ 描述
expression Yes expression 評估真實性的表達式
傳回值 類型 描述
<true 或 false> 布林值 評估表達式的結果

範例

這些範例會評估 的 foo = {"bar":"value"}真實性:

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

並分別傳回這些結果:

  • true
  • false

exp

將一個數字的指數傳回另一個數位。

exp(realNumber, exponentNumber)
參數 必要 類型​ 描述
realNumber Yes number 要計算指數的實數
exponentNumber Yes number 指數數位
傳回值 類型 描述
<result-exp> number 計算指數的結果 realNumber

範例

此範例會計算指數:

exp(2, 2)

並傳回結果 4

第一

從字串或陣列傳回第一個專案。

first('<collection>')
first([<collection>])
參數 必要 類型​ 描述
<collection> Yes 字串或陣列 要在其中尋找第一個專案的集合
傳回值 類型 描述
<first-collection-item> 任意 集合中的第一個專案

範例

這些範例會尋找下列集合中的第一個專案:

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

並分別傳回這些結果:

  • 小時
  • 0

flatten

將陣列扁平化為非數位值。 您可以選擇性地將最大深度設定為扁平化。

flatten([<collection>], '<depth>')
參數 必要 類型​ 描述
<collection> Yes 陣列 要壓平的集合
<深度> No number 要扁平化的最大深度。 預設值為無限大。
傳回值 類型 描述
<new-collection> 陣列 新的集合,其專案已扁平化為非數位至指定的深度

範例 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,則會擲回例外狀況。

float('<value>')
參數 必要 類型​ 描述
<value> Yes string 字串,其有效浮點數要轉換成
傳回值 類型 描述
<float-value> float 指定字串的浮點數

範例

此範例會轉換字串的 float 版本:

float('10.333')

並傳回 float 10.333

floor

傳回小於或等於指定數位的最大整數值。

floor('<number>')
參數 必要 類型​ 描述
<number> Yes number 輸入編號
傳回值 類型 描述
<integer-value> 整數 小於或等於輸入數位的最大整數值

範例

此範例會計算數位 10.333 的底板值:

floor(10.333)

並傳回整數 10

foreach

在每個專案上操作,並傳回新的集合。

foreach([<collection/instance>], <iteratorName>, <function>)
參數 必要 類型​ 描述
<集合/實例> Yes 陣列或物件 具有專案的集合
<iteratorName> Yes iterator 名稱 箭頭函式的索引鍵專案
<函數> Yes expression 包含的函式 iteratorName
傳回值 類型 描述
<new-collection> 陣列 函式評估每個元素的新集合

範例 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>'?)
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串
<format> No string 自訂格式模式。 時間戳的預設格式為 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
<reformatted-timestamp> string 指定格式的更新時間戳

範例 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 時間傳回選擇性地區設定格式的時間戳(也稱為 Epoch 時間、POSIX 時間、UNIX Epoch 時間)。

formatEpoch('<epoch>', '<format>'?, '<locale>'?)
參數 必要 類型​ 描述
<時代> Yes number Epoch 數位
<format> No string 自訂格式模式。 時間戳的預設格式為 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
<reformatted-timestamp> string 指定格式的更新時間戳

範例

這個範例會將 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>'?)
參數 必要 類型​ 描述
<number> Yes number 輸入編號
<precision-digits> Yes 整數 指定的小數位數
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
<傳回值> number 以指定小數位數和指定地區設定格式化之輸入的傳回值

範例 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>'?)
參數 必要 類型​ 描述
<時代> Yes number (或 JavaScript 中的 bigint) 刻度編號
<format> No string 自訂格式模式。 時間戳的預設格式為 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
<reformatted-timestamp> string 指定格式的更新時間戳

範例 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>'?)
參數 必要 類型​ 描述
<區間> Yes 整數 要新增的特定時間單位數目
<timeUnit> Yes string 要搭配 間隔使用的時間單位。 可能的單位為 “Second”、“Minute”、“Hour”、“Day”、“Week”、“Month” 和 “Year”。
<format> No string 自訂格式模式。 時間戳的預設格式為 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
<updated-timestamp> string 目前的時間戳加上指定的時間單位數目

範例 1

假設目前的時間戳是 2019-03-01T00:00:00.000Z。 下列範例會將五天新增至該時間戳:

getFutureTime(2, 'Week')

並傳回結果 2019-03-15T00:00:00.000Z

範例 2

假設目前的時間戳是 2018-03-01T00:00:00.000Z。 下列範例會將五天新增至時間戳,並將結果 轉換成MM-DD-YY 格式:

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

並傳回結果 03-06-18

範例 3

假設目前的時間戳為 2020-05-01T00:00:00.000Z ,且地區設定為 de-DE。 下列範例會將 1 天新增至時間戳:

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

並傳回結果 02.05.20 00:00:00

getNextViableDate

根據目前日期和選擇性指定的時區,傳回 Timex 表達式的下一個可行日期。

getNextViableDate(<timexString>, <timezone>?)
參數 必要 類型​ 描述
<timexString> Yes string 要評估之日期的 Timex 字串。
<timezone> No string 選擇性時區。
傳回值 類型 描述
<nextViableTime> string 下一個可行的日期。

範例

假設日期是 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> Yes string 要評估之時間的 Timex 字串。
<timezone> No string 選擇性時區。
傳回值 類型 描述
<nextViableTime> string 下一個可行的時間。

範例

假設日期是 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>'?)
參數 必要 類型​ 描述
<區間> Yes 整數 要減去的特定時間單位數目
<timeUnit> Yes string 要搭配 間隔使用的時間單位。 可能的單位為 “Second”、“Minute”、“Hour”、“Day”、“Week”、“Month” 和 “Year”。
<format> No string 自訂格式模式。 時間戳的預設格式為 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
傳回值 類型 描述
<updated-timestamp> string 目前的時間戳減去指定的時間單位數目

範例 1

假設目前的時間戳是 2018-02-01T00:00:00.000Z。 此範例會從該時間戳減去五天:

getPastTime(5, 'Day')

並傳回結果 2019-01-27T00:00:00.000Z

範例 2

假設目前的時間戳是 2018-03-01T00:00:00.000Z。 此範例會將五天減去MM-DD-YY 格式的時間戳:

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

並傳回結果 02-26-18

範例 3

假設目前的時間戳為 2020-05-01T00:00:00.000Z ,且地區設定為 de-DE。 下列範例會 從時間戳減去 1 天:

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

並傳回結果 31.04.20 00:00:00

getPreviousViableDate

根據目前日期和選擇性指定的時區,傳回 Timex 表達式的先前可行日期。

getPreviousViableDate(<timexString>, <timezone>?)
參數 必要 類型​ 描述
<timexString> Yes string 要評估之日期的 Timex 字串。
<timezone> No string 選擇性時區。
傳回值 類型 描述
<previousViableDate> string 先前可行的日期。

範例

假設日期是 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> Yes string 要評估之時間的 Timex 字串。
<timezone> No string 選擇性時區。
傳回值 類型 描述
<previousViableTime> string 先前可行的時間。

範例

假設日期是 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> Yes object 包含屬性和值的 JSON 物件。
<propertyName> No string 要從中存取值的選擇性屬性名稱。
傳回值 類型 描述
value string 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> Yes string 要從根記憶體範圍存取值的選擇性屬性名稱。
傳回值 類型 描述
value string JSON 物件中根屬性的值。

範例

假設您有下列 JSON 物件:

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

此範例會從上述 JSON 物件擷取根屬性:

getProperty("a:b")

並傳回字串 a:b 值

getTimeOfDay

傳回指定時間戳的一天時間。

getTimeOfDay('<timestamp>')

傳回的時間是下列其中一個字串:

參數 必要 類型​ 描述
<timestamp> Yes string 包含指定時間戳的字串
傳回值 類型 描述
<一天中的時間> string 指定時間戳的一天時間

下面列出與一天時間相關聯的字串:

一天中的時間 時間戳記
午夜 上午 12 點
早上 上午 12:01 – 下午 11:59
下午 下午 12 點
晚上 下午 06:00 – 下午 10:00
晚上 下午 10:01 – 下午 11:59

範例

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

傳回結果 上午

greater

檢查第一個值是否大於第二個值。 如果第一個值更多,則傳 true 回 ;如果小於則傳回 false

greater(<value>, <compareTo>)
greater('<value>', '<compareTo>')
參數 必要 類型​ 描述
<value> Yes 整數、浮點數或字串 檢查是否大於第二個值的第一個值
<compareTo> Yes 整數、浮點數或字串分別 比較值
傳回值 類型 描述
[True] 或 [False] 布林值 如果第一個值大於第二個值,則傳回 true 。 如果第一個值等於或小於第二個值,則傳回 false

範例

這些範例會檢查第一個值是否大於第二個值:

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

並分別傳回下列結果:

  • true
  • false

greaterOrEquals

檢查第一個值是否大於或等於第二個值。 true當第一個值大於或等於時傳回 ,如果第一個值小於,則傳回 false

greaterOrEquals(<value>, <compareTo>)
greaterOrEquals('<value>', '<compareTo>')
參數 必要 類型​ 描述
<value> Yes 整數、浮點數或字串 檢查是否大於或等於第二個值的第一個值
<compareTo> Yes 整數、浮點數或字串分別 比較值
傳回值 類型 描述
[True] 或 [False] 布林值 如果第一個值大於或等於第二個值,則傳回 true 。 如果第一個值小於第二個值,則傳回 false

範例

這些範例會檢查第一個值是否大於或等於第二個值:

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

並分別傳回下列結果:

  • true
  • false

if

檢查表達式是否為 true 或 false。 根據結果,傳回指定的值。

if(<expression>, <valueIfTrue>, <valueIfFalse>)
參數 必要 類型​ 描述
<expression> Yes 布林值 要檢查的表達式
<valueIfTrue> Yes 任意 表達式為 true 時要傳回的值
<valueIfFalse> Yes 任意 如果表達式為 false,則傳回的值
傳回值 類型 描述
<specified-return-value> 任意 根據表達式 true 為 或 傳回的指定值 false

範例

此範例會評估 是否 equals(1,1) 為 true:

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

會傳 回 yes ,因為指定的運算式會傳 true回 。 否則,此範例會傳 回 no

indexOf

傳回子字串的起始位置或索引值。 此函式不區分大小寫,而索引開頭為數位0。

indexOf('<text>', '<searchText>')
參數 必要 類型​ 描述
<text> Yes 字串或陣列 具有要尋找之子字串的字串
<searchText> Yes string 要尋找的子字串
傳回值 類型 描述
<index-value> 整數 指定子字串的起始位置或索引值。
如果找不到字串,則傳回數位 -1。

範例 1

此範例會在字串 hello world 中尋找子字串世界的起始索引值:

indexOf('hello world', 'world')

並傳回結果 6

範例 2

此範例會尋找陣列 ['abc', 'def', 'ghi'] 中子字串 def 的起始索引值:

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

並傳回結果 1

indicesAndValues

將陣列或物件轉換成具有索引(目前索引)和值屬性的物件陣列。 針對陣列,索引是陣列中的位置。 如果是物件,它是值的索引鍵。

indicesAndValues('<collection or object>')
參數 必要 類型​ 描述
<集合或物件> Yes 陣列或物件 原始數位或物件
傳回值 類型 描述
<collection> 陣列 新的陣列。 每個專案都有兩個屬性:索引具有數位的位置或物件的索引鍵,以及對應的值。

範例 1

假設您有列表 { items: [“zero”, “one”, “two”] }。 下列函式會採用該清單:

indicesAndValues(items)

並傳回新的清單:

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

範例 2

假設您有列表 { items: [“zero”, “one”, “two”] }。 下列函式會採用該清單:

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

並傳回新的清單:

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

範例 3

假設您有列表 { items: [“zero”, “one”, “two”] }。 下列函式會採用該清單:

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

並傳回結果 零、一、二。 此表達式的效果與 join(items, ',')相同。

範例 4

假設您有物件 { 使用者: {name: 'jack', age: 20} }。 下列函式會採用該物件:

indicesAndValues(user)

並傳回新的物件:

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

int

傳回字串的整數版本。 如果字串無法轉換成整數,則會擲回例外狀況。

int('<value>')
參數 必要 類型​ 描述
<value> Yes string 要轉換的字串
傳回值 類型 描述
<integer-result> 整數 指定字串的整數版本

範例

此範例會建立字串 10 的整數版本:

int('10')

並以整數 10 傳回結果。

交叉口

傳回集合,該集合只具有指定集合中的一般專案。 若要出現在結果中,項目必須出現在傳遞至此函式的所有集合中。 如果一或多個專案具有相同的名稱,則結果中會出現具有該名稱的最後一個專案。

intersection([<collection1>], [<collection2>], ...)
intersection('<collection1>', '<collection2>', ...)
參數 必要 類型​ 描述
<collection1>, <collection2> Yes 陣列或物件,但不是兩者 您只想要通用專案的集合
傳回值 類型 描述
<common-items> 陣列或物件,分別 集合,只具有指定集合中的一般專案

範例

此範例會尋找下列陣列中的一般專案:

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

並只傳回包含專案 [1, 2] 的陣列。

isArray

如果指定的輸入是陣列,則傳回 true

isArray('<input>')
參數 必要 類型​ 描述
<input> Yes 任意 要測試的輸入
傳回值 類型 描述
<Boolean-result> 布林值 如果指定的輸入是陣列,則傳 true 回 ;如果不是陣列,則傳回 false

範例

下列範例會檢查輸入是否為陣列:

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

並分別傳回下列結果:

  • 輸入是字串,因此函式會傳 false回 。
  • 輸入是陣列,因此函式會傳 true回 。

isBoolean

如果指定的輸入是布林值,則傳回 true

isBoolean('<input>')
參數 必要 類型​ 描述
<input> Yes 任意 要測試的輸入
傳回值 類型 描述
<Boolean-result> 布林值 如果指定的輸入是布林值,則傳 true 回 ;如果不是布林值,則傳回 false

範例

下列範例會檢查輸入是否為布林值:

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

並分別傳回下列結果:

  • 輸入是字串,因此函式會傳 false回 。
  • 輸入是布林值,因此函式會傳 true回 。

isDate

如果指定的 TimexProperty 或 Timex 運算式參考有效的日期,則傳回 true 。 有效日期包含 month 和 dayOfMonth,或包含 dayOfWeek。

isDate('<input>')
參數 必要 類型​ 描述
<input> Yes 物件或字串 輸入 TimexProperty 物件或 Timex 運算式字串。
傳回值 類型 描述
<boolean-result> 布林值 true如果輸入參考有效的日期,則傳回 ;如果日期無效,則傳回 false

範例

這些範例會檢查下列輸入是否為有效的日期:

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

並傳回下列結果:

  • false
  • true

isDateRange

如果指定的 TimexProperty 或 Timex 運算式參考有效的日期範圍,則傳回 true

isDateRange('<input>')
參數 必要 類型​ 描述
<input> Yes 物件或字串 輸入 TimexProperty 物件 Timex 運算式字串。
傳回值 類型 描述
<boolean-result> 布林值 true如果指定的輸入參考有效的日期範圍,則傳回 ;如果不是有效的日期範圍,則傳回 false

範例

這些範例會檢查下列輸入是否為有效的日期範圍:

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

並傳回下列結果:

  • false
  • true

isDateTime

如果指定的輸入是 UTC ISO 格式(YYYY-MM-DDTHH:mm:ss.fffZ) 時間戳字串,則傳回 true

isDateTime('<input>')
參數 必要 類型​ 描述
<input> Yes 任意 要測試的輸入
傳回值 類型 描述
<Boolean-result> 布林值 如果指定的輸入是 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 。 有效日期包含年份、月份和 dayOfMonth。

isDefinite('<input>')
參數 必要 類型​ 描述
<input> Yes 物件或字串 輸入 TimexProperty 物件 Timex 運算式字串。
傳回值 類型 描述
<boolean-result> 布林值 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>')
參數 必要 類型​ 描述
<input> Yes 物件或字串 輸入 TimexProperty 物件 Timex 運算式字串。
傳回值 類型 描述
<boolean-result> 布林值 true如果輸入參考有效的持續時間,則傳回 ;如果輸入未參考有效的持續時間,則傳回 false

範例

下列範例會檢查下列輸入是否參考有效的持續時間:

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

並分別傳回下列結果:

  • true
  • false

isFloat

如果指定的輸入是浮點數,則傳回 true 。 由於 C# 與 JavaScript 之間的對齊方式,其模數 1 的非零殘渣數位會被視為浮點數。

isFloat('<input>')
參數 必要 類型​ 描述
<input> Yes 任意 要測試的輸入
傳回值 類型 描述
<Boolean-result> 布林值 true如果指定的輸入是浮點數,則傳回 ;如果輸入不是浮點數,則傳回 false

範例

下列範例會檢查輸入是否為浮點數:

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

並分別傳回下列結果:

  • 輸入是字串,因此函式會傳 false回 。
  • 輸入的模數等於 0,因此函式會傳 false回 。
  • 輸入是浮點數,因此函式會傳 true回 。

isInteger

如果指定的輸入是整數,則傳回 true 。 由於 C# 與 JavaScript 之間的對齊方式,其模數 1 零殘差的數位會被視為整數。

isInteger('<input>')
參數 必要 類型​ 描述
<input> Yes 任意 要測試的輸入
傳回值 類型 描述
<Boolean-result> 布林值 這是輸入是整數數位

範例

下列範例會檢查輸入是否為整數:

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

並分別傳回下列結果:

  • 輸入是字串,因此函式會傳 false回 。
  • 輸入的模數等於 0,因此函式會傳 true回 。
  • 輸入是整數,因此函式會傳 true回 。

isMatch

如果指定的字串符合指定的正規表示式模式,則傳回 true

isMatch('<target**string>', '<pattern>')
參數 必要 類型​ 描述
<target**string> Yes string 要比對的字串
<模式> Yes string 正則表達式模式
傳回值 類型 描述
<Boolean-result> 布林值 如果指定的字串符合一般正規表示式模式,則傳 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>')
參數 必要 類型​ 描述
<input> Yes 任意 要測試的輸入
傳回值 類型 描述
<Boolean-result> 布林值 如果指定的輸入是複雜物件,則傳 true 回 ;如果它是基本物件,則傳回 false

範例

下列範例會檢查指定的輸入是否為物件:

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

並分別傳回下列結果:

  • 輸入是字串,因此函式會傳 false回 。
  • 輸入是物件,因此函式會傳 true回 。

isPresent

如果指定的 TimexProperty 或 Timex 運算式參考目前,則傳回 true

isPresent('<input>')
參數 必要 類型​ 描述
<input> Yes 物件或字串 輸入 TimexProperty 物件 Timex 運算式字串
傳回值 類型 描述
<boolean-result> 布林值 true如果輸入參考目前,則傳回 ;如果輸入未參考目前,則傳回 false。

範例 假設我們有 TimexProperty 物件 validNow = new TimexProperty() { Now = true } ,並將 屬性設定 Nowtrue。 下列範例會檢查下列輸入是否參考目前:

isPresent('PT30M')
isPresent(validNow)

並分別傳回下列結果:

  • false
  • true

isString

如果指定的輸入是字串,則傳回 true

isString('<input>')
參數 必要 類型​ 描述
<input> Yes 任意 要測試的輸入
傳回值 類型 描述
<Boolean-result> 布林值 true如果指定的輸入是字串,則傳回 ;如果不是字串,則傳回 false

範例

下列範例會檢查指定的輸入是否為字串:

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

並分別傳回下列結果:

  • 輸入是字串,因此函式會傳 true回 。
  • 輸入是浮點數,因此函式會傳 false回 。

isTime

如果指定的 TimexProperty 或 Timex 運算式參考有效的時間,則傳回 true 。 有效時間包含小時、分和秒。

isTime('<input>')
參數 必要 類型​ 描述
<input> Yes 物件或字串 輸入 TimexProperty 物件 Timex 運算式字串
傳回值 類型 描述
<boolean-result> 布林值 true如果輸入參考有效時間,則傳回 ;如果輸入未參考有效的時間,則傳回 false

範例

這些範例會檢查下列輸入是否參考有效的時間:

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

並分別傳回下列結果:

  • false
  • true

isTimeRange

如果指定的 TimexProperty 或 Timex 運算式參考有效的時間範圍有效時間範圍包含 partOfDay,則傳回 true

isTime('<input>')
參數 必要 類型​ 描述
<input> Yes 物件或字串 輸入 TimexProperty 物件 Timex 運算式字串。
傳回值 類型 描述
<boolean-result> 布林值 true如果輸入參考有效的時間範圍,則傳回 ;如果輸入未參考有效的時間範圍,則傳回 false

範例

假設我們有 TimexProperty 物件 validTimeRange = new TimexProperty() { PartOfDay = “morning” } ,並將 屬性設定 Nowtrue。 這些範例會檢查下列輸入是否為有效的時間範圍:

isTimeRange('PT30M')
isTimeRange(validTimeRange)

並分別傳回下列結果:

  • false
  • true

join

傳回字串,其中包含數位中的所有專案,每個字元都以 分隔符分隔。

join([<collection>], '<delimiter>')
參數 必要 類型​ 描述
<collection> Yes 陣列 具有要聯結之項目的陣列
<分隔符> Yes string 在產生的字串中每個字元之間出現的分隔符
傳回值 類型 描述
<char1分隔符><char2><分隔符...>>< string 從指定數位中所有專案建立的結果字串

範例

此範例會從這個陣列中具有指定字元 的所有專案建立字串,做為分隔符:

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

並傳回結果 a.b.c

jPath

檢查 JSON 或 JSON 字串中是否有符合路徑表達式的節點或值,並傳回相符的節點。

jPath(<json>, '<path>')
參數 必要 類型​ 描述
<Json> Yes 任意 要搜尋符合路徑表示式值的節點或值的 JSON 物件或字串
<path> Yes 任意 用來尋找相符 JSON 節點或值的路徑表達式
傳回值 類型 描述
[ <json-node>] 陣列 符合指定路徑表達式的 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
                }
            ]
        }
    ]
}

路徑表達式為 $.。產品[?(@.Price >= 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>')
參數 必要 類型​ 描述
<value> Yes 字串或 XML 要轉換的字串或 XML
傳回值 類型 描述
<JSON-result> string 從指定的字串或 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 字串。

參數 必要 類型​ 描述
<value> Yes object 要轉換成 JSON 字串的物件
傳回值 類型 描述
<JSON-result> string 產生的 JSON 字串。

範例

這些範例顯示轉換成 JSON 字串的物件:

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

並分別傳回下列字串結果:

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

最後一

從集合傳回最後一個專案。

last('<collection>')
last([<collection>])
參數 必要 類型​ 描述
<collection> Yes 字串或陣列 要在其中尋找最後一個專案的集合
傳回值 類型 描述
<last-collection-item> 字串或陣列,分別 集合中的最後一個專案

範例

這些範例會尋找這些集合中的最後一個專案:

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

並分別傳回下列結果:

  • d
  • 3

lastIndexOf

傳回子字串最後一次出現的起始位置或索引值。 此函式不區分大小寫,而索引開頭為數位0。

lastIndexOf('<text>', '<searchText>')
參數 必要 類型​ 描述
<text> Yes 字串或陣列 具有要尋找之子字串的字串
<searchText> Yes string 要尋找的子字串
傳回值 類型 描述
<ending-index-value> 整數 指定子字串最後一次出現的起始位置或索引值。 如果找不到字串,則傳回數位 -1

範例 1

此範例會尋找 hello world 字串中最後一個子字串世界出現的起始索引值:

lastIndexOf('hello world', 'world')

並傳回結果 6

範例 2

此範例會尋找陣列 ['abc', 'def', 'ghi', 'def'] 中最後一次出現子字串 def 的起始索引值。

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

並傳回結果 3

length

傳回字串的長度。

length('<str>')
參數 必要 類型​ 描述
<str> Yes string 要計算長度的字串
傳回值 類型 描述
<length> 整數 此字串的長度

範例

這些範例會取得字串的長度:

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

並分別傳回下列結果:

  • 5
  • 11

less

檢查第一個值是否小於第二個值。 true如果第一個值較少,則傳回 ;如果第一個值更多,則傳回 false

less(<value>, <compareTo>)
less('<value>', '<compareTo>')
參數 必要 類型​ 描述
<value> Yes 整數、浮點數或字串 檢查是否小於第二個值的第一個值
<compareTo> Yes 整數、浮點數或字串分別 比較專案
傳回值 類型 描述
[True] 或 [False] 布林值 如果第一個值小於第二個值,則傳回 true 。 如果第一個值等於或大於第二個值,則傳回 false

範例

這些範例會檢查第一個值是否小於第二個值。

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

並分別傳回下列結果:

  • true
  • false

lessOrEquals

檢查第一個值是否小於或等於第二個值。 true如果第一個值小於或等於,則傳回 ;如果第一個值更多,則傳回 false

lessOrEquals(<value>, <compareTo>)
lessOrEquals('<value>', '<compareTo>')
參數 必要 類型​ 描述
<value> Yes 整數、浮點數或字串 要檢查是否小於或等於第二個值的第一個值
<compareTo> Yes 整數、浮點數或字串分別 比較專案
傳回值 類型 描述
[True] 或 [False] 布林值 如果第一個值小於或等於第二個值,則傳回 true 。 如果第一個值大於第二個值,則傳回 false

範例

這些範例會檢查第一個值是否小於或等於第二個值。

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

並分別傳回下列結果:

  • true
  • false

max

從清單或陣列傳回最高值。 清單或陣列在兩端都是內含的。

max(<number1>, <number2>, ...)
max([<number1>, <number2>, ...])
參數 必要 類型​ 描述
<number1>、 <number2>、... Yes number 要從中取得最高值的一組數位
[<number1>, <number2>, ...] Yes 數字數位 要從中取得最高值的數位數位數位陣列
傳回值 類型 描述
<max-value> number 指定數位集合中的最大值

範例

這些範例會從數位集和數位列中取得最高值:

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

並傳回結果 3

合併

將多個 JSON 物件或物件數組合並在一起。

merge(<json1>, <json2>, ...)
參數 必要 類型​ 描述
<json1>、 <json2>、... Yes 對象或陣列 要合併的 JSON 物件或陣列集合。
傳回值 類型 描述
<result> object 合併的 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”,“管理員”]}

假設您想要將物件和物件清單結合在一起。 下列範例會結合 JSON 物件和 物件的陣列:

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

並傳回物件 { “k1”: “v1”、“k2”: “v2”、“k3”: “v3”、“k4”: “v4” }

分鐘

從一組數位或陣列傳回最小值。

min(<number1>, <number2>, ...)
min([<number1>, <number2>, ...])
參數 必要 類型​ 描述
<number1>、 <number2>、... Yes number 要從中取得最低值的一組數位
[<number1>, <number2>, ...] Yes 數字數位 要從中取得最低值的數位數位數位數位
傳回值 類型 描述
<min-value> number 指定數位集合中的最小值

範例

這些範例會取得數位集和陣列中的最小值:

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

並傳回結果 1

mod

傳回除兩個數位的餘數。 若要取得整數結果,請參閱 div()

mod(<dividend>, <divisor>)
參數 必要 類型​ 描述
<dividend> Yes number 要除以 除數的數位
<divisor> Yes number 的數位。 不能是 0。
傳回值 類型 描述
<modulo-result> number 除以第一個數位為第二個數位的餘數

範例

本範例會將第一個數位除以第二個數位:

mod(3, 2)

並傳回結果 1

個月

傳回指定時間戳的月份。

month('<timestamp>')
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串
傳回值 類型 描述
<月數> 整數 指定時間戳中的月份數目

範例

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

並傳回結果 3

mul

傳回乘兩個數字的產品。

mul(<multiplicand1>, <multiplicand2>)
參數 必要 類型​ 描述
<multiplicand1> Yes 整數或浮點數 要乘以 multiplicand2 的數位
<multiplicand2> Yes 整數或浮點數 多重 數和1的數位
傳回值 類型 描述
<product-result> 整數或浮點數 乘以第一個數位乘以第二個數字的產品

範例

這些範例會將第一個數位乘以第二個數位:

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

並分別傳回下列結果:

  • 2
  • 3

newGuid

傳回新的 Guid 字串。

newGuid()
傳回值 類型 描述
<Guid-string> string 新的 Guid 字串串,長度為 36,看起來像 xxxxxxxx-xxxx-4xxx-yxxx-xxxxxx

範例

newGuid()

它會傳回遵循 xxxxxxxx-xxxx-4xxx-yxxx-xxxxxx 格式的結果

not

檢查表達式是否為 false。 true如果表示式為 false,則傳回 ;如果為 true,則傳回 false

not(<expression>)
參數 必要 類型​ 描述
<expression> Yes 布林值 要檢查的表達式
傳回值 類型 描述
[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>, ... Yes 布林值 要檢查的表達式
傳回值 類型 描述
[True] 或 [False] 布林值 如果至少有一個表示式為 true,則傳回 true 。 如果所有表示式都是 false,則傳回 false

範例 1

這些範例會檢查至少一個表達式是否成立:

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

並分別傳回下列結果:

  • 至少有一個運算式為 true,因此函式會傳 true回 。
  • 這兩個表示式都是 false,因此函式會傳 false回 。

範例 2

這些範例會檢查至少一個表達式是否成立:

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

並分別傳回下列結果:

  • 至少有一個運算式為 true,因此函式會傳 true回 。
  • 這兩個表示式都是 false,因此函式會傳 false回 。

rand

從指定的範圍傳回隨機整數,此範圍僅包含於起始端。

rand(<minValue>, <maxValue>)
參數 必要 類型​ 描述
<minValue> Yes 整數 範圍中最低的整數
<maxValue> Yes 整數 在函式可以傳回之範圍中最高整數之後的整數
傳回值 類型 描述
<random-result> 整數 從指定範圍傳回的隨機整數

範例

這個範例會從指定的範圍取得隨機整數,但不包括最大值:

rand(1, 5)

並傳回 結果為 1234

range

傳回從指定整數開始的整數數位。

range(<startIndex>, <count>)
參數 必要 類型​ 描述
<startIndex> Yes 整數 啟動陣列做為第一個專案的整數值
<計數> Yes 整數 陣列中的整數數目
傳回值 類型 描述
<range-result> 整數 從指定索引開始的整數陣列

範例

此範例會建立從指定索引 1 開始的整數陣列,並將指定的整數數目設定為 4

range(1, 4)

並傳回結果 [1, 2, 3, 4]

removeProperty

從物件中移除屬性,並傳回更新的物件。

removeProperty(<object>, '<property>')
參數 必要 類型​ 描述
<object> Yes object 您要在其中移除屬性的 JSON 物件
<property> Yes string 要移除的屬性名稱
傳回值 類型 描述
<updated-object> object 未指定屬性的更新 JSON 物件

範例

這個範例會 accountLocationcustomerProfile 物件中移除 屬性,該物件會使用 json() 函式轉換成 JSON,並傳回更新的物件:

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

replace

以指定的字串取代子字串,並傳回結果字串。 此函式會區分大小寫。

replace('<text>', '<oldText>', '<newText>')
參數 必要 類型​ 描述
<text> string 具有要取代之子字串的字串
<oldText> Yes string 要取代的子字串
<newText> Yes string 取代字串
傳回值 類型 描述
<updated-text> string 取代子字串之後更新的字串。 如果找不到子字串,函式會傳回原始字串。

範例 1

此範例會尋找舊字串中的子字串,並將 old 取代new:

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\\”

replaceIgnoreCase

以指定的字串取代子字串,並傳回結果字串。 此函式不區分大小寫。

replaceIgnoreCase('<text>', '<oldText>', '<newText>')
參數 必要 類型​ 描述
<text> string 具有要取代之子字串的字串
<oldText> Yes string 要取代的子字串
<newText> Yes string 取代字串
傳回值 類型 描述
<updated-text> string 取代子字串之後更新的字串。 如果找不到子字串,則傳回原始字串。

範例

此範例會在字串中尋找舊字串中的子字串,並將 old 取代new:

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

並傳回新字串的結果

解決

如果指定 TimexProperty 或 Timex 運算式參考有效的時間,則傳回字串。 有效時間包含小時、分鐘和秒。

resolve('<timestamp')
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串。
傳回值 類型 描述
<return> string 評估之 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

反轉字串或陣列中的項目順序。

reverse(<value>)
參數 必要 類型​ 描述
<value> Yes 字串或陣列 要反轉之陣列的字串。
傳回值 類型 描述
<return> 字串或陣列 字串或陣列的反轉專案。

範例

這些範例會反轉字串或陣列的元素:

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

並分別傳回下列值:

-字串 olleh。 -字串 dlrowolleh

round

將值四捨五入為最接近的整數或指定的小數位數。

round('<number>', '<precision-digits>')
參數 必要 類型​ 描述
<number> Yes number 輸入編號
<precision-digits> No 整數 指定的小數位數。 預設值是 0。
傳回值 類型 描述
<傳回值> number 輸入的傳回值,以指定的小數位數四捨五入

範例 1

此範例會四捨五入數位 10.333

round(10.333)

並傳回數位 10

範例 2

此範例會將數位 10.3313 四捨五入為 2 個小數位:

round(10.3313, 2)

並傳回數位 10.33

select

在每個元素上操作,並傳回已轉換專案的新集合。

select([<collection/instance>], <iteratorName>, <function>)
參數 必要 類型​ 描述
<集合/實例> Yes 陣列 具有專案的集合
<iteratorName> Yes iterator 名稱 索引鍵專案
<函數> Yes expression 可包含的函式 iteratorName
傳回值 類型 描述
<new-collection> 陣列 使用函式評估每個專案的新集合

範例 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>'?)
參數 必要 類型​ 描述
<text> string 原始字串
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
result string string 傳回句子案例結果

範例 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>)
參數 必要 類型​ 描述
<路徑> Yes object 您要設定的路徑
<value> Yes object 您要設定為路徑的值
傳回值 類型 描述
value object 要設定的值

範例 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>)
參數 必要 類型​ 描述
<object> Yes object 您要在其中設定屬性的 JSON 物件
<property> Yes string 要設定的屬性名稱
<value> Yes 任意 要為指定之屬性設定的值
傳回值 類型 描述
<updated-object> object 您所設定屬性的已更新 JSON 物件

範例

本範例會 accountNumber 設定 物件上的 customerProfile 屬性,該物件會使用 json() 函式轉換成 JSON。 函式會指派 newGuid() 函式所產生的值,並傳回更新的 JSON 物件:

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

skip

從集合前面移除專案,並傳回所有其他專案。

skip([<collection>], <count>)
參數 必要 類型​ 描述
<collection> Yes 陣列 要移除其專案之集合
<計數> Yes 整數 正整數,表示要從前端移除的項目數
傳回值 類型 描述
<updatedCollection> 陣列 拿掉指定項目之後更新的集合

範例

這個範例會從指定陣列的前面移除一個專案,數位 1

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

並傳回包含其餘項目的陣列:[1,2,3]。

sortBy

以遞增順序排序集合中的專案,並傳回已排序的集合。

sortBy([<collection>], '<property>')
參數 必要 類型​ 描述
<collection> Yes 字串或陣列 要排序的集合
<property> No string 如果設定,則排序集合中對象專案的這個特定屬性
傳回值 類型 描述
<new-collection> 陣列 已排序其專案的新集合

範例 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>')
參數 必要 類型​ 描述
<collection> Yes 字串或陣列 要排序的集合
<property> No string 如果設定,則排序集合中對象專案的這個特定屬性
傳回值 類型 描述
<new-collection> 陣列 已排序其專案的新集合

範例 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

根據原始字串中的指定分隔符,傳回包含以逗號分隔的子字串陣列。

split('<text>', '<delimiter>'?)
參數 必要 類型​ 描述
<text> string 要根據原始字串中指定的分隔符分隔成子字串的字串。 如果文字是 Null 值,則會將其視為空字串。
<分隔符> No string 做為分隔符的原始字串中的字元。 如果沒有提供的分隔符,或分隔符是 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>)
參數 必要 類型​ 描述
<number> Yes number 要取得 之平方根的數位
傳回值 類型 描述
<result> number 計算平方根的結果。

範例

這些範例會計算指定數位的平方根:

sqrt(9)
sqrt(0)

並分別傳回下列結果:

  • 3
  • 0

startOfDay

以選擇性地區設定格式傳回時間戳的開始時間。

startOfDay('<timestamp>', '<format>'?, '<locale>'?)
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串
<format> No string 自訂格式模式。 時間戳的預設格式為 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
'<updated-timestamp>' string 指定時間戳,從當天的零小時標記開始

範例 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>'?)
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串
<format> No string 自訂格式模式。 時間戳的預設格式為 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
'<updated-timestamp>' string 指定時間戳,從當天的零分鐘標記開始

範例 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>'?)
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串
<format> No string 自訂格式模式。 時間戳的預設格式為 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
'<updated-timestamp>' string 指定時間戳,從月份的第一天開始,以零小時標記開始

範例 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>')
參數 必要 類型​ 描述
<text> string 要檢查的字串
<searchText> Yes string 要尋找的起始子字串
傳回值 類型 描述
[True] 或 [False] 布林值 如果找到起始子字串,則傳回 true 。 如果找不到,則傳回false

範例 1

此範例會檢查字串 hello world 是否以字串 hello 開頭:

startsWith('hello world', 'hello')

並傳回結果 true

範例 2

此範例會檢查字串 hello world 是否以字串 問候語開頭:

startsWith('hello world', 'greeting')

並傳回結果 false

string

以選擇性地區設定格式傳回值的字串版本。

string(<value>, '<locale>'?)
參數 必要 類型​ 描述
<value> Yes 任意 要轉換的值
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
<string-value> string 指定值的字串版本

範例 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 item」。

stringOrValue(<string>)
參數 必要 類型​ 描述
<string> Yes string 要從中取得實際值的字串。
傳回值 類型 描述
<result> 任意 取得指定字串實際值的結果。

範例

這些範例會從字串取得實際值:

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

並分別傳回下列結果:

  • 數位 1.0
  • 字串 1 專案

sub

傳回從第一個數字減去第二個數字的結果。

sub(<minuend>, <subtrahend>)
參數 必要 類型​ 描述
<minuend> Yes number 要從中減去 減的數位
<subtrahend> Yes number 要從 minuend 減去的數位
傳回值 類型 描述
<result> number 從第一個數字減去第二個數字的結果

範例

本範例會從第一個數字減去第二個數位:

sub(10.3, .3)

並傳回結果 10

subArray

從指定的開始和結束位置傳回子陣列。 索引值從數位 0 開始。

subArray(<Array>, <startIndex>, <endIndex>)
參數 必要 類型​ 描述
<array> Yes 陣列 要從中建立子陣列的陣列
<startIndex> Yes 整數 正數等於或大於0,用來做為起始位置或索引值
<endIndex> Yes 整數 正數等於或大於0,用來做為結束位置或索引值
傳回值 類型 描述
<subarray-result> 陣列 具有指定項目數目的子陣列,從來源字串中的指定索引位置開始

範例

此範例會從指定的陣列建立子數組:

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

並傳回結果 [“l”、“l”、“o”]

substring

從指定的位置或索引開始,從字串傳回字元。 索引值從數位 0 開始。

substring('<text>', <startIndex>, <length>)
參數 必要 類型​ 描述
<text> string 要從中建立子字串的字串
<startIndex> Yes 整數 正數等於或大於0子陣列,用來做為起始位置或索引值
<length> Yes 整數 子字串中的正數位元子陣列
傳回值 類型 描述
<substring-result> string 具有指定字元數的子字串,從來源字串中的指定索引位置開始

範例

此範例會從指定的字串建立五個字元的子字串,從索引值 6 開始:

substring('hello world', 6, 5)

並傳回結果 世界

subtractFromTime

以選擇性的地區設定格式,從時間戳減去一些時間單位。 另 請參閱 getPastTime()

subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?, '<locale>'?)
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串
<區間> Yes 整數 要減去的指定時間單位數目
<timeUnit> Yes string 要搭配 間隔使用的時間單位。 可能的單位為 “Second”、“Minute”、“Hour”、“Day”、“Week”、“Month” 和 “Year”。
<format> No string 自訂格式模式。 時間戳的預設格式為 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
<updated-timestamp> string 時間戳減去指定的時間單位數目

範例 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>])
參數 必要 類型​ 描述
[<數字>清單] Yes 數字數位 要加入的數位
傳回值 類型 描述
<result-sum> number 加入指定數字的結果

範例

本範例會新增指定的數位:

sum(createArray(1, 1.5))

並傳回結果 2.5

take

傳回集合前端的專案。

take('<collection>', <count>)
take([<collection>], <count>)
參數 必要 類型​ 描述
<collection> Yes 字串或陣列 您想要其項目的集合
<計數> Yes 整數 正整數,表示您想要從前端取得的項目數
傳回值 類型 描述
<子集或 [<子集>]> 字串或陣列,分別 字串或陣列,具有從原始集合前面擷取的指定項目數目

範例

這些範例會從這些集合前面取得指定的項目數目:

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

並分別傳回下列結果:

  • abc
  • [0, 1, 2]

傳回指定時間戳的刻度屬性值。 刻度為 100 奈秒的間隔。

ticks('<timestamp>')
參數 必要 類型​ 描述
<timestamp> Yes string 時間戳的字串
傳回值 類型 描述
<ticks-number> integer (JavaScript 中的 bigint) 自指定時間戳之後的刻度數目

範例

此範例會將時間戳轉換成其刻度屬性:

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

並傳回結果 636503904000000000

ticksToDays

將刻度屬性值轉換為天數。

ticksToDays('ticks')
參數 必要 類型​ 描述
<> Yes 整數 要轉換的刻度屬性值
傳回值 類型 描述
<天數> number 從刻度屬性值轉換的天數

範例

此範例會將刻度屬性值轉換為天數:

ticksToDays(2193385800000000)

並傳回數位 2538.64097222。

ticksToHours

將刻度屬性值轉換為時數。

ticksToHours('ticks')
參數 必要 類型​ 描述
<> Yes 整數 要轉換的刻度屬性值
傳回值 類型 描述
<時數> number 從刻度屬性值轉換的時數

範例

此範例會將刻度屬性值轉換成小時數:

ticksToHours(2193385800000000)

並傳回數位 60927.383333333331

ticksToMinutes

將刻度屬性值轉換為分鐘數。

ticksToMinutes('ticks')
參數 必要 類型​ 描述
<> Yes 整數 要轉換的刻度屬性值
傳回值 類型 描述
<分鐘數> number 從刻度屬性值轉換的分鐘數

範例

此範例會將刻度屬性值轉換為分鐘數:

ticksToMinutes(2193385800000000)

並傳回數位 3655643.0185

titleCase

以選擇性本機格式將字串中每個單字的第一個字母大寫。

titleCase('<text>', '<locale>'?)
參數 必要 類型​ 描述
<text> string 原始字串
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
result string string 標題案例結果

範例 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>'?)
參數 必要 類型​ 描述
<text> string 要以小寫格式傳回的字串
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
<小寫文字> string 以小寫格式的原始字串

範例 1

這個範例會將字串轉換成小寫:

toLower('Hello World')

並傳回結果 hello world

範例 2

此範例會以fr-FR格式將字串轉換成小寫

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

並傳回結果 hello world

toUpper

以選擇性的地區設定格式傳回大寫的字串。 如果字串中的字元沒有大寫版本,該字元會在傳回的字串中保持不變。

toUpper('<text>', '<locale>'?)
參數 必要 類型​ 描述
<text> string 要以大寫格式傳回的字串
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
<大寫文字> string 大寫格式的原始字串

範例 1

這個範例會將字串轉換成大寫:

toUpper('Hello World')

並傳回結果 HELLO WORLD

範例 2

此範例會以fr-FR格式將字串轉換成大寫

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

並傳回結果 HELLO WORLD

修剪

從字串中移除開頭和尾端空格符,並傳回更新的字串。

trim('<text>')
參數 必要 類型​ 描述
<text> string 字串,具有要移除的前置和尾端空格符
傳回值 類型 描述
<updatedText> string 原始字串的更新版本,不含開頭或尾端空格符

範例

此範例會從字串 「Hello World」 移除開頭和尾端空格符:

trim(' Hello World  ')

並傳回修剪的結果 Hello World

union

傳回具有指定集合中所有專案的集合。 若要出現在結果中,專案可以出現在傳遞至此函式的任何集合中。 如果一或多個專案具有相同的名稱,則結果中會出現具有該名稱的最後一個專案。

union('<collection1>', '<collection2>', ...)
union([<collection1>], [<collection2>], ...)
參數 必要 類型​ 描述
<collection1>, <collection2>, ... Yes 陣列或物件,但不是兩者 您想要所有項目的集合
傳回值 類型 描述
<updatedCollection> 陣列或物件,分別 集合,其中包含指定集合中的所有專案。 未新增重複專案。

範例

此範例會從下列集合取得所有專案:

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

並傳回結果 [1, 2, 3, 10, 101]

unique

從陣列中移除所有重複專案。

unique([<collection>])
參數 必要 類型​ 描述
<collection> Yes 陣列 要修改的集合
傳回值 類型 描述
<new-collection> 陣列 拿掉重複專案的新集合

範例 1

此範例會從下列陣列中移除重複的專案:

unique(createArray(1, 2, 1))

並傳回結果 [1, 2]。

uriComponent

傳回統一資源標識碼 (URI) 元件的二進位版本。

uriComponent('<value>')
參數 必要 類型​ 描述
<value> Yes string 要轉換成 URI 編碼格式的字串
傳回值 類型 描述
<encoded-uri> string 具有逸出字元的 URI 編碼字串

範例

此範例會建立字串的 URI 編碼版本:

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

並傳回結果 HTTP%3A%2F%2Fcontoso.com

uriComponentToString

傳回統一資源標識碼 (URI) 編碼字串的字串版本,有效地譯碼 URI 編碼的字串。

uriComponentToString('<value>')
參數 必要 類型​ 描述
<value> Yes string 要譯碼的 URI 編碼字串
傳回值 類型 描述
<binary-for-encoded-uri> string URI 編碼字串的譯碼版本

範例

此範例會建立 URI 編碼字串的譯碼字串版本:

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

並傳回結果 https://contoso.com

uriHost

傳回統一資源標識碼 (URI) 的主機值。

uriHost('<uri>')
參數 必要 類型​ 描述
<Uri> Yes string 您想要其主機值的 URI
傳回值 類型 描述
<host-value> string 指定 URI 的主機值

範例

此範例會尋找下列 URI 的主機值:

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

並傳回結果 www.localhost.com

uriPath

傳回統一資源標識碼的路徑值(URI)。

uriPath('<uri>')
參數 必要 類型​ 描述
<Uri> Yes string 您想要其路徑值的 URI
傳回值 類型 描述
<path-value> string 指定 URI 的路徑值

範例

這個範例會尋找下列 URI 的路徑值:

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

並傳回結果 /catalog/shownew.htm

uriPathAndQuery

傳回統一資源標識碼的路徑和查詢值(URI)。

uriPathAndQuery('<uri>')
參數 必要 類型​ 描述
<Uri> Yes string 您想要其路徑和查詢值的 URI
傳回值 類型 描述
<path-query-value> string 指定 URI 的路徑和查詢值

範例

這個範例會尋找下列 URI 的路徑與查詢值:

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

並傳回結果 /catalog/shownew.htm?date=today

uriPort

傳回統一資源標識碼 (URI) 的埠值。

uriPort('<uri>')
參數 必要 類型​ 描述
<Uri> Yes string 您想要其路徑值的 URI
傳回值 類型 描述
<port-value> string 指定 URI 的埠值

範例

此範例會尋找下列 URI 的埠值:

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

並傳回結果 8080

uriQuery

傳回統一資源標識碼 (URI) 的查詢值。

uriQuery('<uri>')
參數 必要 類型​ 描述
<Uri> Yes string 您想要查詢值的 URI
傳回值 類型 描述
<query-value> string 指定 URI 的查詢值

範例

此範例會尋找下列 URI 的查詢值:

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

並傳回結果 ?date=today

uriScheme

傳回統一資源標識碼 (URI) 的配置值。

uriScheme('<uri>')
參數 必要 類型​ 描述
<Uri> Yes string 您想要查詢值的 URI
傳回值 類型 描述
<scheme-value> string 指定 URI 的設定值

範例

此範例會尋找下列 URI 的設定值:

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

並傳回結果 HTTP

utcNow

以選擇性的地區設定格式傳回目前的時間戳做為字串。

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

或者,您可以使用 format 參數來指定不同的格式<>。

參數 必要 類型​ 描述
<format> No string 自訂格式模式。 時間戳的預設格式為 UTC ISO 格式 YYYY-MM-DDTHH:mm:ss.fffZ,符合 ISO 8601
<地區設定> No string 文化特性信息的選擇性地區設定
傳回值 類型 描述
<current-timestamp> string 目前的日期和時間

範例 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

篩選每個元素,並傳回符合特定條件之篩選專案的新集合。

where([<collection/instance>], <iteratorName>, <function>)
參數 必要 類型​ 描述
<集合/實例> Yes 陣列 具有專案的集合
<iteratorName> Yes iterator 名稱 索引鍵專案
<函數> Yes expression 用來篩選項目的條件函式
傳回值 類型 描述
<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>')
參數 必要 類型​ 描述
<value> Yes string 字串,其中包含要轉換的 JSON 物件。 JSON 對象必須只有一個根屬性,不能是陣列。 使用 \ 作為雙引號的逸出字元()。
傳回值 類型 描述
<xml-version> object 指定字串或 JSON 物件的編碼 XML

範例 1

此範例會建立字串的 XML 版本,其中包含 JSON 物件:

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> Yes 任意 要搜尋符合 XPath 運算式值的節點或值的 XML 字串
<Xpath> Yes 任意 用來尋找相符 XML 節點或值的 XPath 運算式
傳回值 類型 描述
<xml-node> XML 只有單一節點符合指定的 XPath 運算式時,XML 節點
<value> 任意 只有單一值符合指定的 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

傳回指定時間戳的年份。

year('<timestamp>')
參數 必要 類型​ 描述
<timestamp> Yes string 包含時間戳的字串
傳回值 類型 描述
<year> 整數 指定時間戳中的年份

範例

此範例會評估年份的時間戳:

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

它會傳回 2018 年的結果