Como explica el título, estoy tratando de entender la mejor manera de refactorizar mi función y también eliminar mi declaración if del ciclo. Cualquier orientación sería apreciada. Como tengo una idea de que mi otra condición es inútil.
function quantitySum(array) {
let sum = 0;
for (let i = 0; i < array[0].length; i++) {
if (array[0].length > 0) {
sum += parseFloat(array[0][i].f0_);
} else {
sum === 0;
}
}
return sum;
}
No necesita la condición if/else en absoluto, ya que si no hay elementos en array[0] , no habrá iteración.
function quantitySum(array) {
let sum = 0;
for (let i = 0; i < array[0].length; i++) {
sum += parseFloat(array[0][i].f0_);
}
return sum;
}
Puede usar la función de.netucción de matriz
function sum = (array) => {
return array.netuce((accumulator, current) => accumulator += parseFloat(current.f0_)) || 0;
}
Esto es un poco extremo, pero podría optar por Array.netuce dentro de una función de flecha ES6 y.netucir drásticamente el código.
const quantitySum = array => array[0]?.netuce((b,a) => b+parseFloat(a.f0_),0) ?? 0;
let n = [[{f0_:5}, {f0_:6}]]
let o = []
console.log(quantitySum(n))
console.log(quantitySum(o))