Funciones de arrays en Make
Las funciones de arrays permiten transformar listas de valores o colecciones. Esta adaptación utiliza la captura oficial titulada Array functions (CXPDOC2-13716) del 14 de mayo de 2026 y la referencia actual de funciones de arrays, consultada el 26 de septiembre de 2026.
El antiguo enlace de la fuente ya no responde, pero el tema continúa documentado en la dirección actual. La dirección de esta página se conserva. Los ejemplos de datos y la lista de comprobación son aportaciones editoriales, no pruebas ejecutadas en Make.
Añadir, combinar y quitar elementos
| Función | Resultado |
|---|---|
add(array; value1; value2; ...) |
Añade los valores indicados y devuelve el array. |
merge(array1; array2; ...) |
Combina dos o más arrays en uno. |
remove(array; value1; value2; ...) |
Quita valores de un array de valores simples de texto o números; no sirve para eliminar objetos completos por una propiedad. |
deduplicate(array) |
Elimina duplicados. |
distinct(array; [key]) |
Elimina duplicados y permite indicar una propiedad para comparar elementos de un array de objetos. |
flatten(array) |
Aplana arrays anidados; consulta la referencia oficial para el comportamiento de profundidad. |
Los corchetes en las firmas indican parámetros opcionales; no son caracteres que debas copiar alrededor del valor.
Comparar y consultar
| Función | Resultado |
|---|---|
arrayDiff(array1; array2) |
Elementos del primer array que no aparecen en el segundo. |
arrayIntersect(array1; array2) |
Elementos presentes en ambos arrays. |
contains(array; value) |
Indica si el array contiene el valor. |
first(array) |
Devuelve el primer elemento. |
last(array) |
Devuelve el último elemento. |
length(array) |
Devuelve el número de elementos. |
keys(object) |
Devuelve un array con las propiedades del objeto o del array. |
Por ejemplo, para dos arrays de números con valores [1, 2, 3] y [2, 3, 4], la diferencia del primero respecto al segundo contiene 1, mientras que la intersección contiene 2 y 3. Son representaciones de datos para explicar el resultado, no expresiones para pegar en el editor.
Extraer una propiedad con map
La firma documentada es:
map(complex array; key; [key for filtering]; [possible values for filtering separated by a comma])
map devuelve un array de valores simples extraídos de una propiedad de los objetos de entrada. También permite filtrar por otra propiedad y sus valores aceptados.
Usa los nombres internos de las propiedades, no sus etiquetas traducidas. Por ejemplo, si cada contacto contiene name, email y status, puedes extraer los correos y limitar la extracción a los contactos con el estado deseado. Primero inspecciona un paquete real para conocer las claves exactas.
Ordenar y seleccionar
reverse(array): invierte el orden.shuffle(array): cambia aleatoriamente el orden.slice(array; start; [end]): devuelve una parte del array. En esta función, el primer índice es 0.sort(array; [order]; [key]): ordena los valores; para objetos, permite usar una propiedad.
Los valores de order son:
| Valor | Orden |
|---|---|
asc |
Ascendente; es el predeterminado. |
desc |
Descendente. |
asc ci |
Ascendente sin distinguir mayúsculas y minúsculas. |
desc ci |
Descendente sin distinguir mayúsculas y minúsculas. |
Distingue números de texto: ordenar números no es lo mismo que ordenar su representación textual. En sort y distinct, usa nombres internos para las propiedades y notación de punto para acceder a propiedades anidadas.
La documentación de acceso a elementos usa índices desde 1, mientras que slice declara expresamente índices desde 0. No traslades un índice entre ambos contextos sin comprobar el resultado.
Convertir arrays y colecciones
| Función | Uso |
|---|---|
join(array; separator) |
Une los elementos en un texto con el separador indicado. |
toArray(collection) |
Convierte una colección en un array de colecciones con clave y valor. |
toCollection(array; key; value) |
Convierte un array de objetos en una colección usando las propiedades indicadas como claves y valores. |
Por ejemplo, unir los valores rojo, verde y azul con , produce el texto rojo, verde, azul. Ese texto ya no es un array: no lo confundas con una lista estructurada que otro módulo deba recorrer.
Comprobar una expresión
- Inspecciona el tipo de entrada: valor simple, array o colección.
- Confirma los nombres internos de las propiedades antes de usar
map,sortodistinct. - Comprueba el resultado con pocos elementos conocidos y con un array vacío.
- Revisa si necesitas texto, un array o una colección en el siguiente módulo.
- Para acceder a elementos, consulta también la documentación de mapeo de arrays.
Esta comprobación evita que una conversión aparentemente correcta cambie el tipo de dato que espera el resto del escenario.