una tablas tabla que objects ejemplos ejemplo datos con array agregar javascript arrays ecmascript-5

tablas - Javascript reducir una matriz vacía



reduce js (2)

Ambos comportamientos son de acuerdo a la especificación .

No puede reduce una matriz vacía a menos que proporcione explícitamente un valor inicial "acumulado" como segundo argumento:

Si no se proporcionó initialValue, previousValue será igual al primer valor de la matriz y currentValue será igual al segundo. Es un error TypeError si la matriz no contiene elementos y initialValue no se proporciona.

Si la matriz tiene al menos un elemento, proporcionar un valor inicial es opcional. Sin embargo, si no se proporciona uno, el primer elemento de la matriz se utiliza como valor inicial y reduce continúa procesando el resto de los elementos de la matriz invocando su devolución de llamada. En su caso, la matriz solo contiene un único elemento, por lo que ese elemento se convierte en el valor inicial y también en el valor final, ya que no hay más elementos que procesar a través de la devolución de llamada.

Cuando reduzco la matriz, trato de obtener el número cero, pero no entiendo claramente el comportamiento de la función

[].reduce(function(previousValue, currentValue){ return Number(previousValue) + Number(currentValue); });

resultado

TypeError: Reduce of empty array with no initial value

Parece que si la matriz está vacía no puedo reducirla.

[""].reduce(function(previousValue, currentValue){ return Number(previousValue) + Number(currentValue); });

resultado

""

Si el único elemento de la matriz es una cadena vacía, recupera una cadena vacía


El segundo parámetro es para el valor inicial.

[].reduce(function(previousValue, currentValue){ return Number(previousValue) + Number(currentValue); }, 0);

o utilizando ES6:

[].reduce( (previousValue, currentValue) => previousValue + currentValue, 0);