subarray()
配列から開始インデックスと終了インデックスで指定した範囲の部分配列を返します。
構文
subarray(ARRAY, START[, END])
パラメーター
ARRAY- 部分配列を抽出する配列。
START- 抽出を開始するインデックス。
0から始まり、負の値を指定すると配列の末尾から計算します。 END- 抽出を終了するインデックス(任意)。このインデックスの要素は結果に含まれません。省略すると配列の末尾まで抽出します。負の値を指定すると配列の末尾から計算します。
説明
subarray() 関数は、ARRAY から START 以上 END 未満の範囲に該当する要素を抽出して新しい配列として返します。インデックスは 0 から始まり、負のインデックスは配列の末尾からの位置を表します。例えば、長さ5の配列で -1 は最後の要素(インデックス4)を指します。
以下の状況では null を返します。
ARRAYがnullの場合STARTが有効範囲を超えた場合STARTがENDより大きい場合
END が配列の長さより大きい場合は配列の末尾まで含みます。
エラーコード
該当なし
使用例
-
STARTのみ指定してその位置から末尾まで抽出json "{}" | eval arr = subarray(array(1, 2, 3, 4, 5), 2) | # arr: [3, 4, 5] -
STARTとENDを両方指定して特定範囲を抽出json "{}" | eval arr = subarray(array(1, 2, 3, 4, 5), 2, 4) | # arr: [3, 4] -
負のインデックスを使用して範囲を指定
json "{}" | eval arr = subarray(array(1, 2, 3, 4, 5), 1, -1) | # arr: [2, 3, 4] -
STARTが有効範囲を超えた場合json "{}" | eval arr = subarray(array(1, 2, 3, 4, 5), 5) | # arr: null -
ARRAYがnullの場合json "{}" | eval arr = subarray(null, 0) | # arr: null
互換性
subarray() 関数は、Sonar 4.0以前のバージョンから提供されています。