將MAP對象input的元素進行過濾,只保留滿足predicate條件的元素。
命令格式
map<K, V> map_filter(map<K, V> <input>, function <K, V, boolean> <predicate>)
參數說明
input:必填。MAP類型。
map<K, V>
中的K
、V
指代MAP對象的Key、Value。predicate:必填。用於對輸入MAP對象中的元素進行過濾的函數(內建函數或自訂函數)或運算式。它的兩個輸入參數,分別對應input中的Key和Value,輸出結果為BOOLEAN類型。
傳回值說明
返回MAP類型。
使用樣本
--返回{-30:100, 20:50}。
select map_filter(map(10, -20, 20, 50, -30, 100, 21, null), (k, v) -> (k+v) > 10);
說明
使用樣本中涉及->
的使用,關於Lambda函數->
的介紹,詳情請參見Lambda函數。
相關函數
MAP_FILTER函數屬於複雜類型函數,更多對複雜類型資料(例如ARRAY、MAP、STRUCT、JSON資料)的處理函數請參見複雜類型函數。