Ir al contenido
ESP

Crear una función

Dado el siguiente payload de entrada:

[
[
5,
6
],
[
100,
12
]
]

Escribí una transformación DataWeave que produzca la siguiente salida:

123

El cual es el resultado de sumar todos los valores entre los dos Arrays de números (5 + 6 + 100 + 12). Se espera que se genere una función que permita realizar esta suma total y que funcione sin importar la cantidad de elementos entre los dos Arrays.

  • Para obtener la suma total de valores en un solo array, puedes utilizar la función sum(<Array<Number>>).
  • Para concatenar Arrays (convertir los dos en uno solo) puedes utilizar la función ++(<Array<Number>>, <Array<Number>>).

🔒🔓Ver solución
%dw 2.0
output application/json
fun sumar(n1: Array<Number>, n2: Array<Number>): Number = sum(n1 ++ n2)
// Otra forma de hacerlo
// fun sumar(n1: Array<Number>, n2: Array<Number>): Number = sum(n1) + sum(n2)
---
payload[0] sumar payload[1]

Notas:

  1. Como se menciona en la pista, la función sum() devuelve la suma total de valores dentro del Array numérico, por ende únicamente es sumar la suma total del primer Array con la suma total del segundo Array.
  2. Como ++ permite concatenar Arrays, podemos generar un único Array con todos los elementos y utilizar sum() para obtener la suma total.
{Code mat;}

Aprendé MuleSoft: cursos, ejercicios y exámenes. Gratis y sin registro.