Estoy tratando de utilizar este código para devolver el saldo promedio del cliente sin el signo de dólar ni la coma. Estoy usando .reduce porque creo que es la mejor opción aquí. Además, estoy probando parseFloat por primera vez, así que no estoy seguro de estar usándolo correctamente. El objetivo aquí es
var people = [ { name: "Courtney", age: 43, balance: "$3,400" }, { name: "Regina", age: 53, balance: "$4,000" }, { name: "Jay", age: 28, balance: "$3,000" }, ] var averageBalance = function(array){ var average = people.reduce(function(acc, current, index, array){ if(index === array.length - 1){ return acc / array.length; } return acc += parseFloat(current.balance.replace(/\$|,/g, "")); }, 0); return average; }Estás tratando de hacer demasiado dentro de tu cuerpo .reduce . .reduce le permite hacer algo con cada elemento de una matriz, como agregarlos todos. Si desea hacer una cosa por separado (como dividir por la longitud de la matriz para obtener el promedio), debe colocarse fuera de la devolución de llamada .reduce .
var people = [{ name: "Courtney", age: 43, balance: "$3,400" }, { name: "Regina", age: 53, balance: "$4,000" }, { name: "Jay", age: 28, balance: "$3,000" }, ] var averageBalance = function(array) { const sum = people.reduce(function(acc, current) { return acc + Number(current.balance.replace(/\$|,/g, "")); }, 0); return sum / people.length; } console.log(averageBalance(people));