例如,假设我有数字 345。我如何在 javascript 中循环遍历数字中的每个数字并将其提高到连续的 n 次方:即 3^1 + 4^2 + 5^3?
原文由 Colin Sygiel 发布,翻译遵循 CC BY-SA 4.0 许可协议
例如,假设我有数字 345。我如何在 javascript 中循环遍历数字中的每个数字并将其提高到连续的 n 次方:即 3^1 + 4^2 + 5^3?
原文由 Colin Sygiel 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 String.prototype.split()
和 Array.prototype.reduce()
计算总和:
let x = String(345).split('').reduce((a, v, i) => a + Math.pow(v, i + 1), 0);
console.log(x); // 144
使用 Array.prototype.map()
如果您不想计算总和,而是希望将连续的幂作为数组获取:
let a = String(345).split('').map((v, i) => Math.pow(v, i + 1));
console.log(a); // [3, 16, 125]
原文由 Robby Cornelissen 发布,翻译遵循 CC BY-SA 3.0 许可协议
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.5k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
这会将数字转换为字符串,将其拆分为数字,然后将每个数字提高到其索引加一的幂,然后通过加法减少以得出答案:
结果
144