Поделиться через


array_index_of()

Область применения: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Выполняет поиск массива для указанного элемента и возвращает его положение.

Синтаксис

array_index_of(значение массива, [ , начало [ длина [ , , вхождение ]]])

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
array. dynamic ✔️ Массив для поиска.
значение long, int, datetime, timepan, string, guid или bool ✔️ Значение для поиска.
Начало int Позиция начала поиска. Отрицательное значение смещает начальное значение поиска с конца массива, abs(выполнив действия.)
length int Количество проверяемых значений. Значение -1 означает неограниченную длину.
occurrence int Число вхождения. Значение по умолчанию — 1.

Возвраты

Возвращает позицию отсчитываемого индекса от нуля. Возвращает значение -1, если значение не найдено в массиве. Возвращает значение NULL для неуместных входных данных (вхождение< 0 или длина< -1).

Пример

В следующем примере показано количество позиций определенных слов в массиве.

let arr=dynamic(["this", "is", "an", "example", "an", "example"]);
print
 idx1 = array_index_of(arr,"an")    // lookup found in input string
 , idx2 = array_index_of(arr,"example",1,3) // lookup found in researched range 
 , idx3 = array_index_of(arr,"example",1,2) // search starts from index 1, but stops after 2 values, so lookup can't be found
 , idx4 = array_index_of(arr,"is",2,4) // search starts after occurrence of lookup
 , idx5 = array_index_of(arr,"example",2,-1)  // lookup found
 , idx6 = array_index_of(arr, "an", 1, -1, 2)   // second occurrence found in input range
 , idx7 = array_index_of(arr, "an", 1, -1, 3)   // no third occurrence in input array
 , idx8 = array_index_of(arr, "an", -3)   // negative start index will look at last 3 elements
 , idx9 = array_index_of(arr, "is", -4)   // negative start index will look at last 3 elements

Выходные данные

idx1 idx2 idx3 idx4 idx5 idx6 idx7 idx8 idx9
2 3 -1 -1 3 4 -1 4 -1

Используйте set_has_element(arr), value чтобы проверить, существует ли значение в массиве. Эта функция улучшит удобочитаемость запроса. Обе функции имеют одинаковую производительность.