Show Menu
主題×

陣列、清單和設定函式

配置式查詢語言(PQL)提供一些功能,使與陣列、清單和字串的交互更加容易。 有關其他PQL函式的詳細資訊,請參閱「配置檔案查 詢語言」概述

此函 in 數用於確定項目是否是陣列或清單的成員。
格式
{VALUE} in {ARRAY}

範例
以下PQL查詢定義了3月、6月或9月的生日。
person.birthMonth in [3, 6, 9]

不在

此函 notIn 數用於確定項目是否不是陣列或清單的成員。
此函 notIn 也可確保 ,兩個值均不等於null。 因此,結果不是函式的完全否 in 定。
格式
{VALUE} notIn {ARRAY}

範例
以下PQL查詢定義人們的生日不是在3月、6月或9月。
person.birthMonth notIn [3, 6, 9]

Intercests

該函 intersects 數用於確定兩個陣列或清單是否具有至少一個公共成員。
格式
{ARRAY}.intersects({ARRAY})

範例
以下PQL查詢定義了喜愛的顏色至少包含紅色、藍色或綠色之一的人。
person.favoriteColors.intersects(["red", "blue", "green"])

交集

函式 intersection 用於確定兩個陣列或清單的公共成員。
格式
{ARRAY}.intersection({ARRAY})

範例
以下PQL查詢定義人員1和人員2是否都具有紅色、藍色和綠色的收藏夾顏色。
person1.favoriteColors.intersection(person2.favoriteColors) = ["red", "blue", "green"]

子集

該函 subsetOf 數用於確定特定陣列(陣列A)是否是另一陣列(陣列B)的子集。 換言之,陣列A中的所有元素都是陣列B的元素。
格式
{ARRAY}.subsetOf({ARRAY})

範例
以下PQL查詢定義已訪問其所有最愛城市的訪客。
person.favoriteCities.subsetOf(person.visitedCities)

超集

該函 supersetOf 數用於確定特定陣列(陣列A)是否是另一陣列(陣列B)的超集。 換言之,陣列A包含陣列B中的所有元素。
格式
{ARRAY}.supersetOf({ARRAY})

範例
以下PQL查詢定義至少吃過壽司和披薩的人。
person.eatenFoods.supersetOf(["sushi", "pizza"])

包含

includes 數用於確定陣列或清單是否包含給定項。
格式
{ARRAY}.includes({ITEM})

範例
以下PQL查詢定義其收藏夾顏色包含紅色的人。
person.favoriteColors.includes("red")

Distinct

此函 distinct 數用於從陣列或清單中刪除重複值。
格式
{ARRAY}.distinct()

範例
以下PQL查詢指定在多個儲存中下了訂單的人員。
person.orders.storeId.distinct().count() > 1

分組依據

groupBy 函式用於根據表達式的值將陣列或清單的值分成組。
格式
{ARRAY}.groupBy({EXPRESSION)

引數
說明
{ARRAY}
要分組的陣列或清單。
{EXPRESSION}
映射陣列或清單中返回的每個項的表達式。
範例
以下PQL查詢將儲存訂單的所有訂單分組到。
orders.groupBy(storeId)

篩選

該函 filter 數用於根據表達式過濾陣列或清單。
格式
{ARRAY}.filter({EXPRESSION})

引數
說明
{ARRAY}
要篩選的陣列或清單。
{EXPRESSION}
篩選依據的運算式。
範例
以下PQL查詢定義所有21歲或以上的人。
person.filter(age >= 21)

地圖

此函 map 數可用來透過將運算式套用至指定陣列中的每個項目來建立新陣列。
格式
array.map(expression)

範例
以下PQL查詢將建立一個新的數字陣列,並將原始數字的值平方。
numbers.map(square)

陣列 n 中的第一個

當根 topN 據給定的數值表達式按升 N 序排序時,該函式用於返回陣列中的第一個項。
格式
{ARRAY}.topN({VALUE}, {AMOUNT})

引數
說明
{ARRAY}
要排序的陣列或清單。
{VALUE}
排序陣列或清單的屬性。
{AMOUNT}
要傳回的項目數。
範例
以下PQL查詢返回價格最高的前5個訂單。
orders.topN(price, 5)

陣列中 n 的最後一個

當根 bottomN 據給定的數值表達式按升 N 序排序時,該函式用於返回陣列中的最後一個項。
格式
{ARRAY}.bottomN({VALUE}, {AMOUNT})

引數
說明
{ARRAY}
要排序的陣列或清單。
{VALUE}
排序陣列或清單的屬性。
{AMOUNT}
要傳回的項目數。
範例
以下PQL查詢返回價格最低的前5個訂單。
orders.bottomN(price, 5)

第一項

head 數用於返回陣列或清單中的第一個項。
格式
{ARRAY}.head()

範例
以下PQL查詢返回價格最高的前5個訂單中的第一個。 有關函式的 topN 詳細資訊,請參
orders.topN(price, 5).head()

後續步驟

現在您已經瞭解了陣列、清單和設定函式,可以在PQL查詢中使用這些函式。 有關其他PQL函式的詳細資訊,請閱讀配置式查 詢語言概述