Sdílet prostřednictvím


array_index_of()

Platí pro: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Vyhledá matici pro zadanou položku a vrátí její pozici.

Syntaxe

array_index_of(maticová, hodnota [ začátek [ , , délka [, výskyt ]]])

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Type Požadováno Popis
pole dynamic ✔️ Pole, které se má prohledávat.
value long, int, datetime, timespan, string, guid nebo bool ✔️ Hodnota, která se má vyhledat.
start int Pozice zahájení hledání. Záporná hodnota posune počáteční vyhledávací hodnotu od konce pole počátečním abs() postupem.
length int Počet hodnot, které chcete prozkoumat. Hodnota -1 znamená neomezenou délku.
výskyt int Počet výskytů. Výchozí hodnota je 1.

Návraty

Vrátí pozici indexu založeného na nule vyhledávání. Vrátí hodnotu -1, pokud se hodnota v matici nenajde. Vrátí hodnotu null pro irelevantní vstupy (výskyt< 0 nebo délka< -1).

Příklad

Následující příklad ukazuje počet pozic konkrétních slov v poli.

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

Výstup

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

Pomocí set_has_element(arr, ) zkontrolujte, valuejestli v poli existuje hodnota. Tato funkce zlepší čitelnost dotazu. Obě funkce mají stejný výkon.