Nesta página

Funções de array

As funções de array transformam listas de dados: permitem buscar valores, remover duplicados, extrair propriedades, ordenar itens e converter estruturas. Esta referência reorganiza a documentação oficial do Make, consultada em 26 de setembro de 2026.

Nas assinaturas abaixo, o ponto e vírgula separa argumentos. Os colchetes em uma assinatura indicam um argumento opcional. Nomes como Contacts[] e Emails[] representam arrays mapeados do cenário, não texto que deva ser digitado literalmente no lugar dos seus dados.

Adicionar e combinar

add(array; value1; value2; ...) acrescenta os valores informados ao array e retorna o array resultante.

merge(array1; array2; ...) reúne dois ou mais arrays em um só.

flatten(array) cria um novo array concatenando elementos de subarrays. A documentação descreve o achatamento recursivo até a profundidade especificada e remete à referência de Array.prototype.flat. A assinatura publicada pelo Make nesta página mostra apenas o argumento array; não acrescente um parâmetro não documentado com base na API JavaScript.

Comparar arrays e localizar valores

arrayDiff(array1; array2) retorna os itens presentes no primeiro array e ausentes no segundo. Como exemplo conceitual, comparar a lista 1, 2, 3, 4 com a lista 3, 4, 5, 6 deixa 1 e 2. A ordem dos dois argumentos importa para essa diferença.

arrayIntersect(array1; array2) retorna os itens comuns aos dois arrays. Nas mesmas listas, os itens comuns são 3 e 4.

contains(array; value) verifica se o array contém o valor informado.

Os exemplos de listas acima explicam o resultado; para usar as funções no editor, mapeie os arrays reais nos argumentos.

Remover itens e duplicados

deduplicate(array) remove valores duplicados.

distinct(array; [key]) remove duplicados e permite comparar uma propriedade de objetos complexos. Use o nome bruto da propriedade em key e notação de ponto para propriedades aninhadas. A documentação indica índice 1 para o primeiro item nesse contexto.

Exemplo: distinct(Contacts[]; name) remove duplicados comparando o campo name dos contatos.

remove(array; value1; value2; ...) remove os valores indicados. Segundo a referência, essa função se aplica a arrays primitivos de texto ou números, não à remoção por propriedade em arrays de objetos.

Acessar itens e contar

first(array) retorna o primeiro elemento.

last(array) retorna o último elemento.

length(array) retorna a quantidade de itens.

keys(object) retorna um array com as propriedades do objeto ou do array fornecido.

Extrair propriedades com map

A assinatura é map(complex array; key; [key for filtering]; [possible values for filtering separated by a comma]).

A função extrai os valores de uma propriedade de um array complexo e retorna um array primitivo. Ela também permite filtrar os itens de origem. Use os nomes brutos das variáveis, não os rótulos traduzidos que aparecem na interface.

  • map(Emails[]; email) extrai os valores da propriedade email.
  • map(Emails[]; email; label; work,home) extrai os e-mails cujos itens têm label igual a work ou home.

Para entender a estrutura de entrada, consulte mapeamento de arrays.

Transformar o array em texto

join(array; separator) junta os itens em uma string, inserindo o separador escolhido entre eles. Use essa função quando o destino precisa de texto, em vez de uma lista estruturada.

Mudar a sequência ou selecionar um trecho

reverse(array) inverte a sequência: o primeiro item passa a ser o último, e vice-versa.

shuffle(array) reorganiza os elementos aleatoriamente.

slice(array; start; [end]) retorna um novo array com os itens selecionados. Aqui, o primeiro item tem índice 0. Não confunda essa convenção com a indicação de índice 1 usada em outros contextos de mapeamento da referência.

Ordenar com sort

A assinatura é sort(array; [order]; [key]).

As opções de ordem são:

  • asc: ordem crescente, padrão. Para números, 1, 2, 3; para texto, a referência exemplifica A, B, C, a, b, c.
  • desc: ordem decrescente.
  • asc ci: ordem crescente sem diferenciar maiúsculas de minúsculas.
  • desc ci: ordem decrescente sem diferenciar maiúsculas de minúsculas.

Use key para ordenar objetos por uma propriedade. Informe o nome bruto e use notação de ponto para propriedades aninhadas. A referência indica índice 1 para o primeiro item nesse contexto.

Exemplos com a ordem explicitada:

  • sort(Contacts[]; asc; name): contatos por nome em ordem crescente.
  • sort(Contacts[]; desc; name): contatos por nome em ordem decrescente.
  • sort(Contacts[]; asc ci; name): contatos por nome, ignorando diferença de caixa.
  • sort(Emails[]; asc; sender.name): e-mails pela propriedade aninhada sender.name.

Converter estruturas

toArray(collection) converte uma coleção em um array de coleções com pares de chave e valor.

toCollection(array; key; value) converte um array de objetos com pares de chave e valor em uma coleção, usando os campos informados.

Cuidados editoriais para aplicar os exemplos

Antes de mapear uma função, confira se a entrada é um array de valores simples ou de objetos. Preserve os identificadores das propriedades e separe corretamente os argumentos. Esta recomendação editorial e os exemplos de sintaxe não equivalem a testes executados por este site.

A captura original desta página não incluía arrayDiff e arrayIntersect; ambas constam na página oficial consultada para esta edição. A referência mantém a distinção entre array e coleção, em vez de tratá-los como estruturas intercambiáveis.

Esta página inclui links de afiliado. Podemos receber uma comissão se você se registrar ou contratar por meio deles, sem custo adicional para você.

Entenda o conceito e comece com um fluxo de baixo risco

Se este conceito corresponde a uma tarefa repetitiva real, comece com um fluxo pequeno que você possa revisar manualmente. Consulte preços, limites e restrições de módulos na página oficial.

✓ Comece com um fluxo de baixo risco✓ Mantenha a revisão humana✓ Preços e limites conforme a página oficial
Abrir o Make quando escolher o fluxo