【发布时间】:2020-05-11 14:30:25
【问题描述】:
我想要做的是与以下解决方案相同,但用 reduce 函数替换整个代码。我当前的代码是:
function reduce2dArr(cash) {
let cashList = [];
cash.forEach(subArr => cashList.unshift(subArr[1]));
let globalcash = cashList.reduce((a, b) => a + b);
return globalcash;
}
reduce2dArr([["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.1], ["QUARTER", 4.25], ["ONE", 90], ["FIVE", 55], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]]); //335.41
我已经试过了:
function reduce2dArr(cash) {
let globalcash = cash.reduce((subArr1, subArr2) => subArr1[1] + subArr2[1])
return globalcash;
}
reduce2dArr([["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.1], ["QUARTER", 4.25], ["ONE", 90], ["FIVE", 55], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]]); // NaN
在调试器中我可以看到 reduce 只有第一次迭代 (3.05) 才能正常工作
谢谢!
【问题讨论】:
标签: javascript arrays function ecmascript-6