Descripción
Reduce los elementos de un vector combinándolos con asociatividad de izquierda a derecha mediante una función de dos variables.
Por ejemplo, reducir [2,4,7,1,0,3] para la operación suma sería igual a (((((2+4)+7)+1)+0)+3) → 17.
En la primera iteración, Si no se especifica elemento inicial, combina los dos primeros elementos. Si se especifica, combina el valor inicial con el primero del vector
Cadena de entrada
reduce
Cadena de salida
reduce
Uso
reduce(<función{varname1,varname2}>,<varname1>,<varname2>,<vector>[,<valor_inicial>])
Parámetros | |||
---|---|---|---|
# | Parámetro | Descripción | Valor por defecto |
1 | función{varname1,varname2} | Función a iterar, que depende de dos variables representando dos elementos del vector a operar | |
2 | varname1 | primer elemento a operar | |
3 | varname | segundo elemento a operar | |
4 | vector | Vector de elementos a operar asociativamente de izquierda a derecha | |
5 | valor_inicial | Si se especifica, se tomará como primer elemento a operar con el primero del vector. Si no, se tomarán primero y segundo del vector | ∅ |
Ejemplos
reduce(2a+b,a,b,[1,2,3,4])
RealDoble: 26
unión múltiple de conjuntos:
reduce(c1{+}c2,c1,c2,[[1,2],[inf,-1,3d,nan],[falso,2],[1,0,falso]])
VectorEvaluado: [falso,NaN,3,1,2,Infinity,-1,0]
reduce([x,y],x,y,[1,2,3],[])
VectorEvaluado: [[[[],1],2],3]
Véase también…