# 배열 함수

{% hint style="info" %}
PantherFlow는 Panther 버전 1.110부터 오픈 베타 상태이며 모든 고객이 사용할 수 있습니다. 버그 리포트와 기능 요청은 Panther 지원팀에 공유해 주세요.
{% endhint %}

## `arrays.difference()`

`arrays.difference(arr: [any], excluded_arr: [any]) -> [any]`

다음에서 요소를 포함하는 배열을 반환합니다 `arr` 다음에 없는 `excluded_arr`.

**예:**

```kusto
panther_logs.public.aws_alb
| project ips=arrays.difference(p_any_ip_addresses, p_any_trace_ids)
```

## `arrays.filter()`

`arrays.filter(array: [any], func: fn) -> [any]`

다음을 실행합니다 `func` 각 요소에 대해 `배열` 그리고 다음이 true를 반환하는 요소만으로 새 배열을 반환합니다. `func` 함수 정의에 대한 자세한 내용은 다음에서 알아보세요 [PantherFlow 표현식들](https://docs.panther.com/pantherflow/expressions#functions).

**예:**

```kusto
datatable [{"a": [1, 2, 3]}]
| extend a_even=arrays.filter(a, fn (elem) { elem % 2 == 0 })
```

## `arrays.flatten()`

`arrays.flatten(array: [any]) -> [any]`

다음 필드를 포함해야 합니다 `배열` 배열들의 배열인 경우 내부 배열의 모든 요소를 가진 단일 배열을 반환합니다.

**예:**

```kusto
datatable [{"a": [[1, 2], [3]]}]
| extend a_flattened=arrays.flatten(a)
```

## `arrays.intersection()`

`arrays.intersection(arr1: [any], arr2: [any]) -> [any]`

다음 두 배열에 모두 있는 요소만 포함하는 배열을 반환합니다 `arr1` 와 `arr2`.

**예:**

```kusto
panther_logs.public.aws_alb
| project ips=arrays.intersection(p_any_ip_addresses, p_any_trace_ids)
```

## `arrays.len()`

`arrays.len(arr: [any]) -> int`

다음의 길이를 반환합니다 `arr`. 만약 `arr` 가 배열이 아니면 먼저 JSON으로 변환됩니다.

**예:**

```kusto
panther_logs.public.aws_alb
| project ipsFound=arrays.len(p_any_ip_addresses)
```

## `arrays.map()`

`arrays.map(array: [any], func: fn) -> [any]`

다음을 실행합니다 `func` 각 요소에 대해 `배열` 그리고 결과의 배열을 반환합니다. 함수 정의에 대한 자세한 내용은 다음에서 알아보세요 [PantherFlow 표현식들](https://docs.panther.com/pantherflow/expressions#functions).

**예:**

```kusto
datatable [{"a": [1, 2, 3]}]
| extend a_plus_one=arrays.map(a, fn (elem) { elem + 1 })
```

## `arrays.overlap()`

`arrays.overlap(arr1: [any], arr2: [any]) -> bool`

다음과 일치하면 true를 반환합니다 `arr1` 와 `arr2` 공통 요소가 있는지 여부를 반환합니다.

**예:**

```kusto
panther_logs.public.aws_alb
| project tracesHadIps=arrays.overlap(p_any_ip_addresses, p_any_trace_ids)
```

## `arrays.sort()`

`arrays.sort(arr: [any] [, sort_asc: bool] [, nulls_first: bool]) -> [any]`

입력 배열의 요소를 포함하는 배열을 반환합니다 `arr` 오름차순 또는 내림차순으로 정렬됩니다. 기본값은 오름차순입니다. 널 요소를 널이 아닌 요소보다 먼저 또는 나중에 정렬할지 여부를 지정할 수 있습니다. 오름차순에서는 널이 마지막, 내림차순에서는 널이 먼저가 기본입니다.

**예:**

```kusto
panther_logs.public.aws_alb
| project tracesSorted=arrays.sort(p_any_trace_ids, false)
```

## `arrays.union()`

`arrays.union(arr1: [any], arr2: [any]) -> [any]`

다음의 모든 중복 제거된 요소를 포함하는 배열을 반환합니다 `arr1` 와 `arr2`.

**예:**

```kusto
panther_logs.public.aws_alb
| project ips=arrays.union(p_any_ip_addresses, p_any_trace_ids)
```
