如何使用REDUTE函数执行此操作? [英] How can I do this using Reduce function?
本文介绍了如何使用REDUTE函数执行此操作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
var y= '110001'.split("").reverse();
var sum = 0;
for (var i = 0; i < y.length; i++) {
sum += (y[i] * Math.pow(2, i));
}
console.log(sum);
推荐答案
这样做最简单
数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">console.log(Array.from('110001').reduce((prev, cur) => prev << 1 | cur));
<<
是左位移运算符,这里基本上是乘以2。
Array.from
(如果有)比split
更可取。在这种情况下,这并不重要,但split
将失败,并显示🍺等代理项对字符,而Array.from
将正确处理它们。这也可以写为[...'110001']
,结果是相同的。
当然,您也可以只说
parseInt('110001', 2)
这篇关于如何使用REDUTE函数执行此操作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文