在 reduce 方法中解构
destructuring inside a reduce method
我想知道是否可以在 JS 的 reduce 方法中直接解构。我正在尝试做这样的事情:
使用这个二维数组:
currency = [
["PENNY", 0.01],
["NICKEL", 0.05],
["DIME", 0.01],
["QUARTER", 0.25],
["ONE", 1],
["FIVE", 5],
["TEN", 10],
["TWENTY", 20],
["ONE HUNDRED", 100]
];
我想得到所有金额的总和。我的意思是这样的:
const [curr, amount] = change;
return change.reduce(amount => amount + b);
更好的办法是直接在 reduce 方法的回调中解构货币数组。
如果要对金额求和:
const sum = currency.reduce((total, [_, amount]) => total + amount, 0);
每个子数组被解构为面额名称和金额。
有很多变体。在不改变数据结构的情况下,我这样:
return currency.map(element => element[1]).reduce((acc, curr) => acc + curr);
let currency = [
["PENNY", 0.01],
["NICKEL", 0.05],
["DIME", 0.01],
["QUARTER", 0.25],
["ONE", 1],
["FIVE", 5],
["TEN", 10],
["TWENTY", 20],
["ONE HUNDRED", 100]
];
console.log(currency.reduce((acc, cur) => {return acc + cur[1]},0))
我想知道是否可以在 JS 的 reduce 方法中直接解构。我正在尝试做这样的事情:
使用这个二维数组:
currency = [
["PENNY", 0.01],
["NICKEL", 0.05],
["DIME", 0.01],
["QUARTER", 0.25],
["ONE", 1],
["FIVE", 5],
["TEN", 10],
["TWENTY", 20],
["ONE HUNDRED", 100]
];
我想得到所有金额的总和。我的意思是这样的:
const [curr, amount] = change;
return change.reduce(amount => amount + b);
更好的办法是直接在 reduce 方法的回调中解构货币数组。
如果要对金额求和:
const sum = currency.reduce((total, [_, amount]) => total + amount, 0);
每个子数组被解构为面额名称和金额。
有很多变体。在不改变数据结构的情况下,我这样:
return currency.map(element => element[1]).reduce((acc, curr) => acc + curr);
let currency = [
["PENNY", 0.01],
["NICKEL", 0.05],
["DIME", 0.01],
["QUARTER", 0.25],
["ONE", 1],
["FIVE", 5],
["TEN", 10],
["TWENTY", 20],
["ONE HUNDRED", 100]
];
console.log(currency.reduce((acc, cur) => {return acc + cur[1]},0))