The array_index_of function in APL returns the zero-based index of the first occurrence of a specified value within an array. If the value isn’t found, the function returns -1. Use this function when you need to identify the position of a specific item within an array, such as finding the location of an error code in a sequence of logs or pinpointing a particular value within telemetry data arrays.

For users of other query languages

If you come from other query languages, this section explains how to adjust your existing queries to achieve the same results in APL.

Usage

Syntax

array_index_of(array, lookup_value, [start], [length], [occurrence])

Parameters

NameTypeRequiredDescription
arrayarrayYesInput array to search.
lookup_valuescalarYesScalar value to search for in the array. Accepted data types: long, integer, double, datetime, timespan, or string.
start_indexnumberNoThe index where to start the search. A negative value offsets the starting search value from the end of the array by abs(start_index) steps.
lengthnumberNoNumber of values to examine. A value of -1 means unlimited length.
occurrencenumberNoThe number of the occurrence. By default 1.

Returns

array_index_of returns the zero-based index of the first occurrence of the specified lookup_value in array. If lookup_value doesn’t exist in the array, it returns -1.

Use case examples

You can use array_index_of to find the position of a specific HTTP status code within an array of codes in your log analysis.

Query

['sample-http-logs']
| take 50
| summarize status_array = make_list(status)
| extend index_500 = array_index_of(status_array, '500')

Run in Playground

Output

status_arrayindex_500
[“200”, “404”, “500”]2

This query creates an array of status codes and identifies the position of the first occurrence of the 500 status.