> ## Documentation Index
> Fetch the complete documentation index at: https://reportana.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# map

### Introdução

O filtro `map` permite aplicar uma função a cada item de uma coleção (como arrays ou objetos), retornando uma nova coleção com os resultados. Esse filtro é útil para transformar os elementos de uma coleção de forma simples e eficiente.

> **Atenção:** O filtro `map` funciona exclusivamente por meio do envio de Automações, Campanhas e Campanhas Avançadas.

### Exemplo de Uso

Exemplo de como utilizar o filtro `map` para multiplicar cada número em um array por 2:

```twig theme={null}
{% set numbers = [1, 2, 3, 4, 5] %}
{% set doubled = numbers|map(n => n * 2) %}
{{ doubled|join(', ') }}
```

Neste exemplo, o array numbers é transformado pelo filtro `map`, que aplica a função de multiplicação por 2 a cada elemento. O resultado é um novo array `[2, 4, 6, 8, 10]`, que é então convertido em uma **string** com os números separados por vírgulas.

### Saída Exemplo do Código

<img src="https://mintcdn.com/reportana/Jha6odPLZMMTun1e/map.png?fit=max&auto=format&n=Jha6odPLZMMTun1e&q=85&s=f86c472ec39abaa46fb12e365eb61ce5" alt="Resultado do Filtro `map`" width="1101" height="433" data-path="map.png" />

### Exemplo de Uso 2

Exemplo de como utilizar o filtro `map` para transformar os itens de um pedido antes de converter o conteúdo em JSON:

```twig theme={null}
{{ payload.items|map(item => {
    "title": item.name,
    "quantity": item.quantity,
    "price": item.amount
})|json_encode|raw }}
```

Neste exemplo, o filtro `map` percorre todos os itens presentes em `payload.items` e cria um novo array contendo apenas as propriedades desejadas.

Para cada item do pedido:

`title` recebe o valor de `item.name` `quantity` recebe o valor de `item.quantity` `price` recebe o valor de `item.amount`

O novo array é então convertido em JSON utilizando o filtro `json_encode`. O filtro `raw` é utilizado para impedir que escapem os caracteres especiais do JSON, garantindo que a saída seja enviada no formato JSON puro.

Essa abordagem é útil para padronizar payloads enviados para APIs, webhooks ou integrações externas.

### Saída Exemplo do Código

<img src="https://mintcdn.com/reportana/GP0gBp-f6MYDxGXm/images/Map3.png?fit=max&auto=format&n=GP0gBp-f6MYDxGXm&q=85&s=7ac533d8ec7d1e38bf37cee5ced6cab8" alt="Map3" width="315" height="520" data-path="images/Map3.png" />
