如何使用此功能降低怎么办?
问题描述:
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);
答
检查这个片段
var binary = '110001'.split("").reverse();
var sum = binary.reduce(function(previous, current, index) {
previous = previous + (current * Math.pow(2, index));
return previous;
}, 0);
console.log(sum);
希望它可以帮助
答
这将是最简单的做
console.log(Array.from('110001').reduce((prev, cur) => prev << 1 | cur));
<<
是左位位移运算符,这里基本上是乘以2。
Array.from
(如果可用)最好split
。在这种情况下,它并不重要,但split
将失败,并代理对字符,如,而Array.from
正确处理它们。这也可以写成[...'110001']
,其最终被同样的事情。
当然,你也可以只说
parseInt('110001', 2)