AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de colas, pilas, listas y arrays / Funciones de arrays
  • Modo de funcionamiento
  • Cálculos existentes
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
<Array>.Reduce (Función)
Realiza un cálculo en cada elemento de un array WLanguage.
Ejemplo
arrValue is array of int = [1,2,3,4,5]
TheSum is int
TheSum = arrValue.Reduce((Value, TheSum) => { RETURN Value + TheSum }, 0)
 
// Note: this example is for illustrative purposes; to find the sum of elements of an array,
// it is preferable to use the Sum function
Sintaxis
<Result> = <Array>.Reduce(<Operation to perform> [, <InitialValue>])
<Result>: Tipo del resultado
Resultado de la operación acumulativa.
<Array>: Array WLanguage
Nombre de la variable de tipo Array a utilizar. Este array debe ser unidimensional.
<Operation to perform>: Procedimiento WLanguage
Nombre del procedimiento WLanguage a ejecutar. Este procedimiento puede ser:
  • un procedimiento global o local,
  • un procedimiento interno.
También es posible utilizar una función lambda directamente.
<InitialValue>: Parámetro opcional, tipo del valor inicial
Valor inicial a utilizar la primera vez que se ejecuta el procedimiento <Operación a realizar>.
Observaciones

Modo de funcionamiento

El procedimiento <Operación a realizar> se llama una primera vez con dos parámetros:
  • el primer elemento del array,
  • el valor inicial especificado con el parámetro <Valor inicial>.
Luego se llama al procedimiento para todos los demás elementos del array con dos parámetros:
  • el elemento del array,
  • el valor devuelto por la llamada anterior.
Ejemplo ilustrativo
Veamos el siguiente ejemplo:
arrValue is array of int = [1,2,3,4,5]
TheSum is int
TheSum = arrValue.Reduce((Value, TheSum) => { RETURN Value + TheSum }, 0)
En este ejemplo, el código:
TheSum = arrValue.Reduce((Value, TheSum) => { RETURN Value + TheSum }, 0)
equivale al siguiente código:
TheSum = arrValue.Reduce(Adds, 0)
 
INTERNAL PROCEDURE Adds(Value, Total)
RETURN Value + Total
END
Con este procedimiento interno, el cálculo se puede desglosar de la siguiente manera:
  • ResultadoIntermedio1 = Suma (t[1], ValorInicial): en el ejemplo Suma( 1, 0 ) -> 1
  • ResultadoIntermedio2 = Suma (t[2], ResultadoIntermedio1): en el ejemplo Suma( 2, 1 ) -> 3
  • ...
note: este ejemplo es ilustrativo; para hallar la suma de los elementos de un array, utilice la función .suma.

Cálculos existentes

Los cálculos más frecuentes están disponibles en WLanguage:
MediaCalcula la media de varios elementos: Elementos * encontrados en un array,
  • valores numéricos, ....
SumaCalcula la suma de los elementos array.


Secuencia de funciones
Puede utilizar las funciones de array en una secuencia.
Las siguientes funciones pueden utilizarse en una secuencia: Esta secuencia puede utilizarse como fuente para una sentencia FOR ALL o puede terminar con una de las siguientes funciones:
Ejemplo:
gnMean = garrUser.Filter(cbFilter).Map(cbMap).Mean()
Clasificación Lógica de negocio / UI: Código neutro
Componente: wd290vm.dll
Ver también
Versión mínima requerida
  • Versión 25
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 19/06/2023

Señalar un error o enviar una sugerencia | Ayuda local