mi última función reduceArr, ¿se está omitiendo?
cuando hago console.log me devuelven el newArry?
porque no se ejecuta??
const sumAll = function(...args) { let newArr = [...args]; let sortedArr = newArr.sort(function(a,b) { return a - b; }) let lastArr = [''] for (let i = sortedArr[0]; i < sortedArr[1]; ++i ) { lastArr.push(i) } let reducedArr = lastArr.reduce(function(previousValue,currentValue) { return previousValue + currentValue; }) return reducedArr; }; console.log(sumAll(1,4));Su última reduce todavía funciona, solo agrega una cadena en lugar de un número porque init let lastArr = [''] con un elemento '' .
Actualícelo para let lastArr = [] . Verás el resultado final.
const sumAll = function(...args) { let newArr = [...args]; let sortedArr = newArr.sort(function(a,b) { return a - b; }) let lastArr = [] for (let i = sortedArr[0]; i < sortedArr[1]; ++i ) { lastArr.push(i) } console.log(lastArr); let reducedArr = lastArr.reduce(function(previousValue,currentValue) { return previousValue + currentValue; }) return reducedArr; }; console.log(sumAll(1,4));Simplemente puede escribir el código de manera más sucinta usando Array.from y reducir
NOTA: si desea agregar
1 + 2 + 3 + 4si dice1-4, puede reemplazarArray.from({ length: end - start + 1 }, (_, i) => i + start)
const sumAll = function (a, b) { const [start, end] = a > b ? [b, a] : [a, b]; return Array.from({ length: end - start }, (_, i) => i + start) .reduce((acc, curr) => acc + curr); }; console.log(sumAll(1, 4)); console.log(sumAll(4, 1));