array_index_of()

Wyszukuje tablicę dla określonego elementu i zwraca jego pozycję.

Składnia

array_index_of(Tablicy,value [start [,length [,,occurrence ]]])

Dowiedz się więcej o konwencjach składniowych.

Parametry

Nazwa Typ Wymagane Opis
Tablicy dynamic ✔️ Tablica do wyszukania.
wartość long, int, datetime, timespan, string, guid lub bool ✔️ Wartość do wyszukania.
Uruchomić int Pozycja początkowa wyszukiwania. Wartość ujemna zrównoważy początkową wartość wyszukiwania od końca tablicy, wykonując abs( kroki początkowe).
length int Liczba wartości do zbadania. Wartość -1 oznacza nieograniczoną długość.
Wystąpienia int Liczba wystąpień. Wartość domyślna to 1.

Zwraca

Zwraca pozycję indeksu opartą na zera pozycji odnośnika. Zwraca wartość -1, jeśli wartość nie zostanie znaleziona w tablicy. Zwraca wartość null dla nieistotnych danych wejściowych (wystąpienie< 0 lub długość< -1).

Przykład

W poniższym przykładzie pokazano liczbę pozycji określonych wyrazów w tablicy.

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

Dane wyjściowe

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

Użyj set_has_element(arr, ), aby sprawdzić, value czy wartość istnieje w tablicy. Ta funkcja poprawi czytelność zapytania. Obie funkcje mają taką samą wydajność.