返回从 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
更多代码 JavaScript 实用代码片段 请查看 https://www.html.cn/30-seconds-of-code/
最新评论
写的挺好的
有没有兴趣翻译 impatient js? https://exploringjs.com/impatient-js/index.html
Flexbox playground is so great!
感谢总结。
awesome!
这个好像很早就看到类似的文章了
比其他的教程好太多了
柯理化讲的好模糊…没懂