返回从 start
到 end
(包括两端)所有数字的权重总和。
使用 Array.fill()
创建一个包含目标范围内所有数字的数组,Array.map()
和指数运算符(**
)来将它们求 power
次幂,并且使用 Array.reduce()
把它们累加在一起。 省略第二个参数power
,使用默认的2
。 省略第三个参数start
,使用默认的初始值1
。
const sumPower = (end, power = 2, start = 1) => Array(end + 1 - start) .fill(0) .map((x, i) => (i + start) ** power) .reduce((a, b) => a + b, 0);
sumPower(10); // 385 sumPower(10, 3); //3025 sumPower(10, 3, 5); //2925